oauth-2.0 Azure AD开放式身份验证2.0:我没有获得刷新令牌

evrscar2  于 2022-10-31  发布在  其他
关注(0)|答案(2)|浏览(214)

当客户端应用程序(例如使用我们的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"

令牌工作正常,似乎永远不会过期。

e5nszbig

e5nszbig1#

如果您使用客户端凭据(客户端ID +客户端密码或证书)获取令牌,则不会获取刷新令牌。在这种情况下,您始终可以仅使用应用程序的凭据获取新的访问令牌,因此不需要刷新令牌。
在具有用户上下文的流的情况下,您将获得刷新标记,因为您不能随意重复用户登录,并且必须使用刷新标记来获得新的标记。

bvn4nwqk

bvn4nwqk2#

当你请求authorization_code接收refresh_token作为结果时,你需要添加一个特殊的作用域offline_access。检查一下,可能是你的情况:)

相关问题