当客户端应用程序(例如使用我们的API的网页)连接到Azure AD OAuth2.0保护的Web API时
要获取访问令牌,客户端应用程序将对此https://login.microsoftonline.com/ {tenant}/oauth2/令牌执行POST
但是客户端应用程序没有获得刷新令牌。在“客户端应用程序”场景中不需要刷新令牌吗?
这就是他们的下场
"token_type": "Bearer",
"expires_in": "3600",
"ext_expires_in": "0",
"expires_on": "1531906803",
"not_before": "1531902903",
"resource": "https://our-api.azurewebsites.net",
"access_token": "YtNGEzZi1hZGYyLTExNjU4N......rdFqQ"
令牌工作正常,似乎永远不会过期。
2条答案
按热度按时间e5nszbig1#
如果您使用客户端凭据(客户端ID +客户端密码或证书)获取令牌,则不会获取刷新令牌。在这种情况下,您始终可以仅使用应用程序的凭据获取新的访问令牌,因此不需要刷新令牌。
在具有用户上下文的流的情况下,您将获得刷新标记,因为您不能随意重复用户登录,并且必须使用刷新标记来获得新的标记。
bvn4nwqk2#
当你请求
authorization_code
接收refresh_token
作为结果时,你需要添加一个特殊的作用域offline_access
。检查一下,可能是你的情况:)