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

Azure AD openid连接不包括响应中的token_type

魏翔
2023-03-14

我正在尝试从旧的Azure AD OpenId连接转换到使用新的Azure AD V2.0endpoint,如下所示:https://docs.microsoft.com/en-us/Azure/active-directory/develop/active-directory-v2-protocols-oidc

当我试图通过v2.0令牌endpointhttps://login.microsoftonline.com/common/oauth2/v2.0/token请求令牌时,我得到的响应只包含'token_id'字段,而不包含'token_type'或任何其他字段。我用来解析响应的库是用于openid和Auth2的Nimbus.com库。OIDCTokenReponseParser引发异常,因为响应中缺少'token_type'。

我看过OpenID Connect协议规范,它说对令牌endpoint的请求需要'token_type',所以似乎来自endpoint的响应是无效的。

有没有人遇到这个问题,如果有,你是怎么处理的?

更新3/2/2018

{
    "token_type": "Bearer",
    "expires_in": "3599",
    "ext_expires_in": "0",
    "expires_on": "1520018953",
    "access_token": "{token}",
    "refresh_token": "{token}",
    "id_token": "{token}"
}

我尝试以同样的方式处理V2.0版本。我将用户重定向到:

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?response_type=code&client_id={id}&redirect_uri={uri}&scope=openid+profile+email&state={state}

在它们登录后,它们被重定向回我的应用程序,并将“代码”作为查询参数。

{
"id_token":"{token}"
}

共有1个答案

梅跃
2023-03-14

您请求的范围只能满足ID令牌的内容。在您的身份验证请求中,尝试包含一个作用域,该作用域指示您需要访问令牌(例如https://graph.microsoft.com/user.read),响应将具有预期的token_typeaccess_token

 类似资料:
  • 问题内容: 我有一个关于通过模型处理m2m /及其在django rest框架中的演示的问题。让我们举一个经典的例子: models.py: serializers.py: views.py: 在获取Member的实例时,我成功地接收了成员的所有字段及其组-但是,我仅获得组的详细信息,而没有来自Membership模型的其他详细信息。 换句话说,我希望收到: 注意join_date。 我已经尝试了

  • 我正在使用 Jmeter 执行一个脚本进行负载测试。我在两者之间遇到错误,例如。如果我应用了500users的负载,直到250个用户线程成功运行,那么错误来自连接超时错误。然后,它再次运行成功为某些线程,然后出错。 代码如下:- 响应标头: 我需要破坏服务器。 有人能帮我吗?

  • 请帮我找出问题所在。我太过分了,请帮我解决这个问题

  • 我们可以添加docker吗。是否使用Dockerfile将主机sock到容器?我想做的是在容器内发出docker命令(pull、tag和push)。我知道docker run命令中的“-v/var/run/docker.sock:/var/run/docker.sock”,但我需要在docker文件中包含相同的内容来构建它。下面是我的Dockerfile:-

  • 当我使用之类的东西时,它仍然会触发,就像连字符无效一样。我尝试了和

  • 我在详细学习http协议时,偶然发现了这个教程。我认为当发出http请求时,会通过客户端(浏览器)和服务器建立TCP连接。在TCP连接上发送http请求数据,在服务器端解析http请求,并在同一TCP连接上发送http响应。发送响应后,TCP连接终止。对于下一个http请求,将建立一个新的TCP连接。但下面的教程说了些别的。我是对还是错?