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



在我的iOS应用程序中,我使用以下提供商进行授权:Apple,谷歌Facebook和。授权流通过以下框架完成:AuthenticationServicesApple Sign InGoogleSignInFBSDKLoginKitFacebook .

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

  1. 对于Apple,我得到了idTokennonce
  2. 对于Google,我得到了idTokenaccessToken
  3. 对于Facebook,我得到了一个accessToken

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

更新:

通过将idTokennonce发送到https://SUPABASE_ID.supabase.co/auth/v1/token?grant_type=id_token,我成功地完成了Apple Sign In。但目前还不清楚如何处理GoogleFacebook和提供者。

在任何地方都没有记录,我只是阅读goTrue源代码。所以不确定这是否会很快停止工作。但万一对其他人有用的话…

发送一个POST请求到

https://<your id>.supabase.co/auth/v1/token?grant_type=id_token

与body

{"id_token": "<your google id_token>","provider": "google"}

添加一个apikey头与你的Supabase Key,你将得到来自Supabase的验证响应。然后拨打"setSession()";有了这个访问令牌和刷新令牌,你就可以开始了。

最新更新