我正致力于在离子项目中使用 AzureAD 实现 oidc 身份验证。我们使用插件https://github.com/moberwasserlechner/capacitor-oauth2。根据说明进行设置后,我们在重定向期间遇到了问题。
以下是相关配置:
2.对于安卓 将以下配置添加到清单文件
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="msauth" android:host="${bundleid}" android:path="/${hash}" />
</intent-filter>
3.针对ios 添加以下到 info.list
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>bundleid</string>
</array>
</dict>
</array>
4.然后是授权码
appId: {clientid},
authorizationBaseUrl: `https://login.microsoftonline.com/{tenantid}/oauth2/v2.0/authorize`,
scope: "openid offline_access email https://graph.microsoft.com/User.Read", // See Azure Portal -> API permission
accessTokenEndpoint: token endpoint,
responseType: "code token",
pkceEnabled: true,
logsEnabled: true,
web: {
redirectUrl: `website url`,
windowOptions: "height=600,left=0,top=0",
android: {
redirectUrl: "msauth://bundle/signature",// See Azure Portal -> Authentication -> Android Configuration "Redirect URI"
handleResultOnNewIntent:false,
handleResultOnActivityResult:true
},
ios:{
redirectUrl:msauth.bundleid://auth
}
https://learn.microsoft.com/en-us/azure/active-directory/develop/tutorial-v2-angular-auth-code
如果您使用的是离子电容器,那么您也很可能会使用角度...有用于角度和构建组件的模块设计来处理..只需将/重定向回我认为的角度路径组件...我还没有尝试过