在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
是什么?
答案 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 Handler(Nuget,Github)。