Azure AD OAuth2中的refresh_token是否到期

时间:2014-03-29 17:56:00

标签: azure active-directory azure-active-directory

在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是什么?

1 个答案:

答案 0 :(得分:4)

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

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

请务必查看Vittorio的博客文章,了解验证令牌的重要性:Principles of Token Validation。如果您使用的是.NET,则可以使用JSON Web Token HandlerNugetGithub)。