ASWebAuthenticationSession callbackURLScheme未触发回调,如何让Stripe返回URL触发?
解决Stripe关联账户认证回调触发问题
你当前的核心问题是:Stripe重定向的HTTPS返回URL和ASWebAuthenticationSession设置的自定义scheme不匹配,导致无法触发回调。下面是两种直接可行的解决方法:
方法一:改用自定义scheme作为Stripe返回URL
这种方式无需配置服务器,操作更简单:
- 在Stripe后台的Connect设置中,将允许的redirect URI修改为自定义scheme格式,比如
auth-completion://stripe-callback - 保持
ASWebAuthenticationSession的callbackURLScheme为auth-completion,同时确保Stripe返回的认证流程最终会重定向到你设置的这个自定义scheme URL - 认证完成后,Stripe会跳转到
auth-completion://stripe-callback,系统会自动触发ASWebAuthenticationSession的completion handler,你可以在回调里解析返回的参数
方法二:配置通用链接关联HTTPS返回URL
如果必须使用HTTPS格式的返回URL,需要配置苹果通用链接:
- 开发者后台配置:
- 打开苹果开发者中心,找到你的App ID,启用
Associated Domains功能 - 添加关联域名:
applinks:www.brandboost.app
- 打开苹果开发者中心,找到你的App ID,启用
- 服务器配置:
- 在你的服务器根目录下创建
.well-known文件夹,上传apple-app-site-association文件,内容如下(替换成你的Team ID和Bundle ID):{ "applinks": { "apps": [], "details": [ { "appID": "你的TeamID.你的BundleID", "paths": ["/auth-completion*"] } ] } } - 确保这个文件可以通过
https://www.brandboost.app/.well-known/apple-app-site-association直接访问,且无重定向
- 在你的服务器根目录下创建
- App内处理:
- 初始化
ASWebAuthenticationSession时无需修改callbackURLScheme(或设为nil也可) - 当Stripe重定向到
https://www.brandboost.app/auth-completion时,系统会识别这是你的App的通用链接,自动触发ASWebAuthenticationSession的completion handler,你可在回调中解析URL参数
- 初始化
注意:两种方法都要保证Stripe后台配置的redirect URI和你实际使用的完全一致(包括大小写、路径),否则Stripe会拒绝重定向。
内容的提问来源于stack exchange,提问作者Trevor
相关产品推荐
相关产品推荐

