当前位置: 首页 > 知识库问答 >
问题:

使用Azure AD“身份验证失败,原因是:jwt受众无效”

段干俊茂
2023-03-14
    null
const config = {
    identityMetadata: "https://login.microsoftonline.com/tenant1/v2.0/.well-known/openid-configuration",
    clientID: "clientId2",
    validateIssuer: false,
    loggingLevel: 'info',
    passReqToCallback: false,
    loggingNoPII: false
};
{"name":"AzureAD: Bearer Strategy","hostname":"DESKTOP-NCVLN56","pid":16052,"level":40,"msg":"Production environments should always validate the issuer.","time":"2020-04-11T13:25:44.283Z","v":0}
{"name":"AzureAD: Bearer Strategy","hostname":"DESKTOP-NCVLN56","pid":16052,"level":30,"msg":"In BearerStrategy constructor: created strategy with options {\"identityMetadata\":\"https://login.microsoftonline.com/tenant1/v2.0/.well-known/openid-configuration\",\"clientID\":\"clientId2\",\"validateIssuer\":false,\"loggingLevel\":\"info\",\"passReqToCallback\":false,\"loggingNoPII\":false,\"clockSkew\":300,\"allowMultiAudiencesInToken\":false,\"audience\":[\"clientId2\",\"spn:clientId2\"]\"isB2C\":false,\"_isCommonEndpoint\":false}","time":"2020-04-11T13:25:44.285Z","v":0}
Listening on port 5000
    null
 ['https://graph.microsoft.com/v1.0/me', ['user.read']],
 ['http://localhost:5000', ['api://clientId2/access_as_user']],
{"name":"AzureAD: Bearer Strategy","hostname":"DESKTOP-NCVLN56","pid":20720,"level":30,"msg":"authentication failed due to: jwt audience is invalid","time":"2020-04-11T13:38:08.700Z","v":0}
{"name":"AzureAD: Bearer Strategy","hostname":"DESKTOP-NCVLN56","pid":12644,"level":30,"msg":"In Strategy.prototype.jwtVerify: We did not pass Req back to Callback","time":"2020-04-11T16:19:30.398Z","v":0}

共有1个答案

宇文温文
2023-03-14

结果他们在存储库中的代码没有使用正确的配置来验证作用域访问...

https://github.com/azure-samples/active-directory-javascript-nodejs-webapi-v2/blob/master/index.js#L41

        if (req.authInfo['scp'].split(" ").indexOf("demo.read") >= 0) {

我需要将作用域从“demo.read”更改为“access_as_user”。

 类似资料:
  • 我必须在kafka中使用SSL添加加密和身份验证。 这就是我所做的: > < li> 为每个经纪人kafka生成证书: keytools-keystoreserver.keystore.jks别名localhost有效性 创建CA。生成的CA是一个公钥-私钥对,是用于签署其他证书的证书。CA负责签署证书。 使用生成的 CA 对所有代理证书进行签名 从密钥库导出证书: < code > keytoo

  • null null “AADSTS28000:为输入参数scope提供的值无效,因为它包含多个资源。scope api://{API-application-id}/a-scope https://graph.microsoft.com/user。Read openid配置文件无效。” 这里,我们的后端是一个资源,它有一个作用域,“https://graph.microsoft.com”是另一个作

  • 我一直在尝试使用SASL_PLAINTEXTSCRAM-SHA-256向我的Kafka代理添加SASL身份验证,但没有任何成功。我在Kafka的日志文件中不断收到以下错误。 错误[控制器id=0,targetBrokerId=0]连接到节点0的身份验证失败,原因是:由于SASL机制SCRAM-SHA-256(org.apache.kafka.clients.NetworkClient)的凭据无效,

  • 我正在开发一个具有自己的身份验证和授权机制的REST应用程序。我想使用JSON Web Tokens进行身份验证。以下是有效且安全的实现吗? < li >将开发一个REST API来接受用户名和密码并进行认证。要使用的HTTP方法是POST,因此没有缓存。此外,在传输时还会有安全SSL < li >在认证时,将创建两个JWTs访问令牌和刷新令牌。刷新令牌将具有更长的有效期。这两个令牌都将写入coo

  • Tweepy API请求twitter return me Twitter错误响应:状态代码=401。 这是我的实际代码: 我曾试图用tweepy软件包删除推文,并获得了所有必需的密钥。镊子包装不起作用吗?有人能帮我解决这个问题吗。

  • 在错误=我正在获取“消息”的上下文中需要帮助:“Access token validation Failure.Invalid Pavior.”, 我正在使用OAuth中的授权代码授予类型。我已经使用Azure广告策略将自定义声明映射到应用程序。因此,如果用户Scope=appid/.default,那么我将在令牌中获得一个自定义声明,并在Azure AD上对应用程序具有API权限,如user.r