GoDaddy从office365重定向而不返回刷新令牌

时间:2016-09-09 00:42:11

标签: office365api godaddy-api

我有一个与OneDrive同步的应用。如果用户通过GoDaddy使用Office365并且我的grant_type为'refresh_token',则它不会返回refresh_token,这反过来也不会让我刷新我当前拥有的令牌。我在尝试POST请求时尝试添加access_type="offline"prompt="consent"无效。帮助

这是我的代码:

credentials = OpenStruct.new
params = {
      client_id: client_credentials[:key],
      redirect_uri: redirect_url,
      client_secret: client_credentials[:secret],
      refresh_token: refresh_token,
      grant_type: 'refresh_token',
      resource: resource_id,
      access_type: 'offline',
      prompt: 'consent'
} 
RestClient.post(client.token_url, params) # doesn't return refresh_token

1 个答案:

答案 0 :(得分:0)

根据请求,您似乎刷新了令牌。根据OAuth 2.0代码授予流程,没有关于 access_type 提示的参数。您可以在下面参考支持参数:

enter image description here

以下是您的参考文章:

POST /{tenant}/oauth2/token HTTP/1.1
Host: https://login.microsoftonline.com
Content-Type: application/x-www-form-urlencoded

client_id=6731de76-14a6-49ae-97bc-6eba6914391e
&refresh_token=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq...
&grant_type=refresh_token
&resource=https%3A%2F%2Fservice.contoso.com%2F
&client_secret=JqQX2PNo9bpM0uEihUPzyrh