Azure active directory Azure AD openid连接响应中不包括令牌类型

Azure active directory Azure AD openid连接响应中不包括令牌类型,azure-active-directory,openid-connect,Azure Active Directory,Openid Connect,我正在尝试从旧的Azure AD OpenId连接转换为使用新的Azure AD v2.0端点,如以下所述: 当我尝试通过v2.0令牌端点请求令牌时: 我得到的响应只包含“token\u id”字段,而不包含“token\u type”或任何其他字段。我用来解析响应的库是nimbus.com library for openid和auth2。OIDCtokenResponseParser引发异常,因为响应中缺少“令牌类型” 我看过OpenID连接协议规范,它说对令牌端点的请求需要“token_t

我正在尝试从旧的Azure AD OpenId连接转换为使用新的Azure AD v2.0端点,如以下所述:

当我尝试通过v2.0令牌端点请求令牌时: 我得到的响应只包含“token\u id”字段,而不包含“token\u type”或任何其他字段。我用来解析响应的库是nimbus.com library for openid和auth2。OIDCtokenResponseParser引发异常,因为响应中缺少“令牌类型”

我看过OpenID连接协议规范,它说对令牌端点的请求需要“token_type”,因此似乎来自端点的响应无效

有人遇到过这个问题吗?如果有,你是如何处理的

2018年3月2日更新

我的流程使用旧的端点。我将用户重定向到此处:

用户登录后,他们被重定向到我的应用程序,代码通过查询参数提供

我转过身来,提出这个要求:

我得到的反应是这样的

{
    "token_type": "Bearer",
    "expires_in": "3599",
    "ext_expires_in": "0",
    "expires_on": "1520018953",
    "access_token": "{token}",
    "refresh_token": "{token}",
    "id_token": "{token}"
}
我尝试以同样的方式处理v2.0版本。我将用户重定向到:

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

然后我发送此请求:

但我得到的回应是:

{
"id_token":"{token}"
}

您请求的作用域只能通过ID令牌的内容来满足。在您的身份验证请求中,尝试包括一个范围,该范围将指示您需要访问令牌(例如),响应将具有预期的
令牌类型
访问令牌

发送到
/authorize
端点的
响应类型是什么,
id\u令牌
id\u令牌代码
?请更新您的问题,提供有关您使用的赠款流的更多详细信息,您可以提供详细的请求跟踪,以便我们缩小此问题的范围。@BruceChen我已更新了我的问题,提供了有关我提出的有效请求的更多详细信息。你是对的,我只需要id令牌,但是我使用的库显然假设我需要的不仅仅是id令牌。我会让他们知道的。非常感谢!真是太好了!我不完全确定OpenID Connect是否指定令牌响应是否必须包含访问令牌。。。我也会在我们这方面进行调查。@PhilippeSignoret-根据报告,回复必须包括访问令牌。我倾向于同意你的看法,并已向我们的协议专家提出了这一点。:)