如何在苹果中刷新令牌



场景 : 令牌过期后,不应注销用户。

苹果注册步骤:

  1. 已成功验证授权代码并获得成功响应 { "access_token

    " : ",,"refresh_token" : ",expires_in: "}
  2. 成功验证了从上述步骤获得的refresh_token,并使用 POST 调用生成了新的访问令牌https://appleid.apple.com/auth/token

问题: 如何从新的访问令牌生成用户数据id_token?

现在苹果的生态系统中没有UserInfo API。 他们的访问令牌根本没有用。

获取用户显示名称的唯一方法是在第一次授权时在回调 url 处接收"user"json 对象。 对于电子邮件,您也可以在id_token中获取它。

  1. 生成刷新令牌

网址 : https://appleid.apple.com/auth/token

请求:

{
client_id : your client_ID
client_secret : JWT_token
code : Authentication code (provided when login with Apple, which is expired within 5 minutes)
grant_type : authorization_code
redirect_uri : provided in “Return URL” when creating “Services ID” in Apple account
}
  1. 验证刷新令牌并获取访问令牌

网址 : https://appleid.apple.com/auth/token

请求:

{
client_id : your client_ID
client_secret : JWT_token
grant_type : refresh_token
refresh_token : refresh_token received in step - 1 API response
}

刷新令牌是终身有效期令牌,但当用户更改密码/用户进行会话更改的任何其他操作时,令牌将失效。 因此,在这种情况下,您需要重新登录以获取新的刷新令牌。

相关内容

  • 没有找到相关文章

最新更新