iOS第三方提供商对Supabase的授权

问题描述 投票:0回答:2

在我的 iOS 应用程序中,我使用以下提供商进行授权:AppleGoogleFacebook。授权流程通过以下框架完成:

AuthenticationServices
(Apple Sign In)、
GoogleSignIn
(Google)和
FBSDKLoginKit
(Facebook)。

授权成功完成后,我会收到每个提供商的凭证,其中包含以下数据:

  1. 对于 Apple,我有一个
    idToken
    nonce
  2. 对于 Google,我得到了
    idToken
    accessToken
  3. 对于 Facebook,我得到了
    accessToken

问题是:如何继续 Supabase 的授权流程?如何发送此凭据才能接收有效的授权会话?

更新:

我通过将

idToken
nonce
发布到
https://SUPABASE_ID.supabase.co/auth/v1/token?grant_type=id_token
成功完成了 Apple 登录。 但目前尚不清楚如何继续处理 GoogleFacebook 提供商。

swift authorization google-signin supabase apple-sign-in
2个回答
0
投票

它没有在任何地方记录,我只是阅读了 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()
”,就可以开始了。


0
投票

不幸的是无法使其工作。调用post请求时出现此错误:

{"error":"invalid request","error_description":"Unacceptable audience in id_token"}

你是如何让它发挥作用的?

© www.soinside.com 2019 - 2024. All rights reserved.