如何基于OIDC Provider为iOS/Android应用构建SSO的redirect-uri
移动端(iOS/Android)OIDC Redirect URI 配置方案
iOS 应用 Redirect URI 构建与配置
- 格式规则:以应用的Bundle ID作为自定义URL Scheme前缀,拼接回调路径,格式为
{BundleId}://{自定义回调路径}。
例:若Bundle ID为com.example.iosapp,可设置Redirect URI为com.example.iosapp://oauth-callback - APP内配置:在Xcode中进入项目设置→
Info→URL Types,点击+添加记录,将URL Schemes设为你的Bundle ID,Role选择Editor。系统识别到该Scheme的链接时,会直接唤起你的APP。 - 可选方案:也可使用Universal Links(HTTPS格式,如
https://example.com/ios-oauth-callback),但需配置关联域名并完成域名所有权验证,适合需要无浏览器跳转的安全场景;自定义Scheme则更适合快速实现基础功能。
Android 应用 Redirect URI 构建与配置
- 格式规则:以应用的Package Name作为自定义URL Scheme前缀,拼接回调路径,格式为
{PackageName}://{自定义回调路径}。
例:若Package Name为com.example.androidapp,可设置Redirect URI为com.example.androidapp://oauth-callback - APP内配置:在
AndroidManifest.xml中,找到处理OAuth回调的Activity,添加如下<intent-filter>配置:
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!-- 匹配自定义Scheme的Redirect URI --> <data android:scheme="com.example.androidapp" android:host="oauth-callback" /> </intent-filter>
- 可选方案:支持App Links(HTTPS格式),需配置数字资产链接文件并验证域名所有权,优势是无需用户确认即可唤起APP;自定义Scheme则更易快速部署。
通用注意事项
- 务必保证OIDC Provider后台配置的Redirect URI与APP内配置的Scheme/链接完全一致,包括大小写、路径等细节,否则会导致回调失败。
- 自定义Scheme尽量使用唯一标识(如Bundle ID/Package Name),避免与其他应用的Scheme冲突。
- 采用authorization code flow时,回调后APP需从Intent(Android)或URL(iOS)中提取
code参数,再调用OIDC Provider的token接口获取令牌。
内容的提问来源于stack exchange,提问作者Rango
相关产品推荐
相关产品推荐

