如何为React Native Expo应用配置OAuth回调所需的HTTP重定向URL
Expo独立包OAuth重定向配置流程
Expo项目无需手动修改AndroidManifest等原生配置文件,所有重定向规则均可通过app.json/app.config.js托管配置,构建时会自动注入到原生工程中,具体操作步骤如下:
1. 配置应用自定义Scheme
首先在配置文件中声明应用专属的Scheme,作为自定义跳转的基础标识:
{ "expo": { "name": "你的应用名称", "slug": "你的应用slug", "scheme": "mycustomapp", // 自定义值,全小写无特殊字符即可 // 其余原有配置保持不变 } }
此时你可以使用mycustomapp://oauth/callback格式的重定向地址,适配支持非HTTPS回调的第三方平台。
2. HTTPS重定向配置(适配仅接受HTTPS回调的平台)
如果第三方OAuth平台要求回调地址必须为HTTPS格式,需要额外配置App Links(安卓)和Universal Links(iOS):
安卓端配置
在配置文件的安卓节点下添加intentFilter规则,匹配你的HTTPS回调地址:
{ "expo": { // 其余原有配置保持不变 "android": { "intentFilters": [ { "action": "VIEW", "autoVerify": true, "data": [ { "scheme": "https", "host": "你的域名", "pathPrefix": "/oauth/callback" } ], "category": ["BROWSABLE", "DEFAULT"] } ] } } }
该配置会在构建时自动写入AndroidManifest文件,无需手动修改。
iOS端配置
在配置文件的iOS节点下添加关联域名规则:
{ "expo": { // 其余原有配置保持不变 "ios": { "associatedDomains": ["applinks:你的域名"] } } }
你需要在你的HTTPS域名根目录下放置安卓的assetlinks.json、iOS的apple-app-site-association验证文件,完成域名和应用的关联。
3. 第三方平台白名单配置
将以下两类地址都添加到第三方OAuth平台的重定向白名单中:
- 开发环境:继续使用
auth.expo.io开头的原有地址,适配Expo Go开发调试 - 生产环境:填你配置的自定义Scheme地址或者HTTPS回调地址
4. 构建生效
所有配置完成后,需要重新构建独立安装包才能生效:
- 安卓APK/AAB包:运行
eas build -p android - iOS IPA包:运行
eas build -p ios
注意:自定义重定向规则仅在独立包中生效,Expo Go环境下不会加载该配置
内容的提问来源于stack exchange,提问作者Aditya Bansal
相关产品推荐
相关产品推荐

