flutter 安卓app 苹果登录关键步骤 SignInWithApple

WebAuthenticationOptions中,redirectUri将根据您的平台而改变。在iOS和Web上,您只需放入您的域名。在Android上,您需要传递来自您自己服务器的URI,该服务器将返回一个重定向到Android深链接。

以下是Flutter代码示例:

 
  1. final credential = await SignInWithApple.getAppleIDCredential(
  2. scopes: [AppleIDAuthorizationScopes.email],
  3. webAuthenticationOptions: WebAuthenticationOptions(
  4. clientId: userService.platform != "apple"
  5. ? 'com.example-service.example'
  6. : 'com.example.example',
  7. redirectUri: userService.platform == "android" ?
  8. Uri.parse('https://example.com/apple/login/callback')
  9. : Uri.parse('https://example.com')));

以下是应添加到您自己的Python服务器上的回调端点示例,使用FastAPI:

 
  1. @router.post("/apple/login/callback", response_class=RedirectResponse)
  2. async def android_siwa(request: Request):
  3. args = ""
  4. form = await request.form()
  5. data = {k: v for k, v in form.items() if k != "upload-file"}
  6. for k, v in data.items():
  7. args += f"{k}={v}&"
  8. args = args[:-1]
  9. return f"intent://callback?{args}#Intent;package={settings.ANDROID_PACKAGE_NAME};scheme=signinwithapple;end"

最后,请确保在您的服务ID配置中包括这两个重定向URI:https://developer.apple.com/account/resources/identifiers/list/serviceId

重点 服务端api要接受post 请求,而不是改,接受后重定向到安卓deeplink打开安卓app

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值