在我的 iOS 应用程序中,我使用以下提供商进行授权:Apple、Google 和 Facebook。授权流程通过以下框架完成:
AuthenticationServices
(Apple Sign In)、GoogleSignIn
(Google)和FBSDKLoginKit
(Facebook)。
授权成功完成后,我会收到每个提供商的凭证,其中包含以下数据:
idToken
和 nonce
。idToken
和 accessToken
。accessToken
。问题是:如何继续 Supabase 的授权流程?如何发送此凭据才能接收有效的授权会话?
更新:
我通过将
idToken
和 nonce
发布到 https://SUPABASE_ID.supabase.co/auth/v1/token?grant_type=id_token
成功完成了 Apple 登录。
但目前尚不清楚如何继续处理 Google 和 Facebook 提供商。
它没有在任何地方记录,我只是阅读了 goTrue 源代码。所以不确定这是否会很快停止工作。但万一它对其他人有用......
只需向
发出 POST 请求即可https://<your id>.supabase.co/auth/v1/token?grant_type=id_token
与身体
{"id_token": "<your google id_token>","provider": "google"}
使用您的 Supabase 密钥添加 apikey 标头,您将从 supabase 获得身份验证响应。然后使用该访问令牌和刷新令牌调用“
setSession()
”,就可以开始了。
不幸的是无法使其工作。调用post请求时出现此错误:
{"error":"invalid request","error_description":"Unacceptable audience in id_token"}
你是如何让它发挥作用的?