Dynamics 365 OAuth不返回刷新令牌

时间:2019-07-25 21:26:33

标签: office365 dynamics-crm-2011 microsoft-dynamics

向用户授权其Dynamics 365环境时,我需要通过OAuth获得长寿的刷新令牌。但是,当我发出请求时,没有返回refresh_token值。

这是我用于OAuth请求的URL格式。

https://login.microsoftonline.com/common/oauth2/authorize?resource={Uri.EscapeDataString(options.field1)}&client_id={clientid}&response_type=code&redirect_uri={Uri.EscapeDataString(redirectUrl)}

它正确地调用了我的回调URL,然后我使用“ authorization_code”的grant_type交换了访问令牌的“ code”。请注意,没有刷新令牌。

enter image description here

我已经为“应用程序注册”配置了Azure权限:

enter image description here

1 个答案:

答案 0 :(得分:1)

我真的知道了。该URL需要格式化为第2版URL,而在第2版中没有“ resource”参数,但是您可以在“ scopes”参数中传递资源。

https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id={clientid}&response_type=code&redirect_uri={Uri.EscapeDataString(redirectUrl)}&scope={Uri.EscapeDataString("offline_access https://xxx.crm.dynamics.com/user_impersonation")}