0

从 Microsoft Azure ActiveDirectory 中,我得到了一个响应,其中包含refresh_token/token端点 (OAuth2) 的请求,它看起来像这样:

{
"access_token":"eyJ0eXAiOiJKV1QiLCJhb....",
"token_type":"Bearer",
"expires_in":"3599",
"expires_on":"1396069299",
"resource":"https://management.core.windows.net/",
"refresh_token":"AwABAAAAvPM1KaPlrEqdFSBzj...",
"scope":"user_impersonation",
"id_token":"eyJ0eXAiOiJKV1QiLCJhbGciOi..."
}

所以显然refresh_token没有过期,当我需要一个新的时我可以多次使用它access_token,对吗?

还有,是id_token为了什么?

4

1 回答 1

4

刷新令牌最终会过期(我不确定何时),您可能不应该永远依赖它们。(另外,这个的副本。)

除了access_tokenid_token可能是令牌响应中最有趣的部分。它包含一个JSON Web 令牌 (JWT) ,其中包含有关当前登录用户的信息(声明)。打开(并验证)后,您将找到有关用户的信息,例如用户名、名字和姓氏、租户 ID 和用户对象 ID。如果稍后您打算查询Azure AD Graph API以获取更多信息,这将非常有用。

请务必查看 Vittorio 的博客文章,了解为什么验证令牌很重要:令牌验证原则。如果您使用的是 .NET,则有一个方便的JSON Web 令牌处理程序(NugetGithub)。

于 2014-03-30T00:21:35.017 回答