目前,我通过在 Web 视图中向以下 URL 发送请求来让用户登录 Microsoft Live:
https://login.live.com/oauth20_authorize.srf?client_id=[CLIENT ID]&scope=[SCOPES]&response_type=token&redirect_uri=[REDIRECT URI]&display=popup
这完美地工作,我接收并保存access_token
and authentication_token
。refresh_token
请注意,即使我包含wl.offline_access
范围,它也不会返回 a 。
当访问令牌过期并需要刷新时,就会出现此问题。我正在尝试使用Microsoft 文档中的方法刷新令牌:
https://login.live.com/oauth20_token.srf?client_id=[CLIENT ID]&redirect_uri=[REDIRECT URI]&client_secret=[CLIENT SECRET]&refresh_token=[WHAT TO PUT HERE?]&grant_type=refresh_token
但是,arefresh_token
从未在登录中返回,所以我不确定要传入什么。请注意,发送authentication_token
(它应该用于什么?)作为refresh_token
参数会导致以下结果:
{
"error": "invalid_grant",
"error_description": "The provided value for the input parameter 'refresh_token' is not valid."
}
有谁知道如何通过他们的 REST API 正确刷新 Microsoft Live 令牌?