,我希望创建一个flutter移动客户端应用程序以对其进行身份验证IT 我看到Flutter具有auth插件,例如
FlutterAppauth插件等,但是我阅读的大多数文档都将OIDCredirect_uri
参数指定为沿com.app.name://login-callback
行的某些内容。但是,我希望有一个“远程”重定向的URI,例如
http://my.app.name/api/auth/callback
access_token
在获取authtoken的补充中,还执行了某些域特定的操作 ,例如,如果用户要使用Google SSO登录KeyCloak客户端,那么我希望在成功检索
api/auth/login
后在我的应用程序域中创建用户,以便在内部没有悬挂的用户keycloak,但不是其他任何地方
对于Web客户端而言,这不是问题,因为登录端点http://my.app.name/api/auth/callback
将重定向到SSO提供商,然后将其重定向回
com.app.name://login-callback
验证代币的验证代码
如果不存在的新用户在系统中创建新用户
externalApplication
您可以尝试the flutter上的深度链接。然后使用
AndroidManifest.xml
URL_LAUNCHER打开浏览器,该模式在外部模式下打开浏览器。然后,它将在重定向后打开您的应用程序。
深链接是任何将用户直接进入应用程序特定部分的计划的URI。它对于与OIDC合作非常有用,因为您的应用程序希望Redirect_uri从Web浏览器或Web视图中重定向您的应用程序。因此,我们可以在Flutter flutter flutter的flutter上使用深层链接。<activity android:name="com.linusu.flutter_web_auth.CallbackActivity"
android:exported="true">
<intent-filter android:label="flutter_web_auth">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="com.example.andidoor" android:host="example.host"/>
</intent-filter>
</activity>
现在,这是一种回调URL格式(深链接格式)scheme://host
,现在您可以添加com.example.andidoor://example.host