Ionic Android OpenID 认证问题
Ionic Android OpenID authentication problem
我有一个 Ionic Angular 应用程序,我正在将其部署到 Android 设备。我正在使用 OpenID + KeyCloak 进行身份验证,在客户端,我通过使用 angular-auth-oidc-client 来处理这个问题。我设置的配置是:
scope: 'openid profile tino_access',
silentRenewUrl: `${window.location.origin}/silent-renew.html`,
responseType: 'code',
postLogoutRedirectUri: window.location.origin,
silentRenew: true,
silentRenewUrl: `${window.location.origin}/silent-renew.html`,
logLevel: LogLevel.Warn,
postLoginRoute: window.location.origin,
useRefreshToken: true
在本地部署或在我的服务器上的自定义域上部署时,它工作得很好,但是在移动设备 phone 上作为应用程序进行测试时,它不起作用。我注意到 window.location.origin 的值是 http://localhost。登录成功后,以${window.location.origin}/?state='token'&code='token'
的形式发起请求,其中'token'为OAuth生成的token的值。当在移动设备上发出此请求时,请求 http://localhost/?state=...&code=...
无法识别并且应用程序无法启动,我只收到网页不存在的错误屏幕。
有什么办法可以解决这个问题吗?
谢谢
答:由于app的源地址是http://localhost,而本地服务器不是phone上的运行,解决方法是更改redirect_url参数应用程序包 ID 的身份验证配置。示例:com.package.id://家
这将在 OAuth 页面中完成身份验证后将您重定向回应用程序
我有一个 Ionic Angular 应用程序,我正在将其部署到 Android 设备。我正在使用 OpenID + KeyCloak 进行身份验证,在客户端,我通过使用 angular-auth-oidc-client 来处理这个问题。我设置的配置是:
scope: 'openid profile tino_access',
silentRenewUrl: `${window.location.origin}/silent-renew.html`,
responseType: 'code',
postLogoutRedirectUri: window.location.origin,
silentRenew: true,
silentRenewUrl: `${window.location.origin}/silent-renew.html`,
logLevel: LogLevel.Warn,
postLoginRoute: window.location.origin,
useRefreshToken: true
在本地部署或在我的服务器上的自定义域上部署时,它工作得很好,但是在移动设备 phone 上作为应用程序进行测试时,它不起作用。我注意到 window.location.origin 的值是 http://localhost。登录成功后,以${window.location.origin}/?state='token'&code='token'
的形式发起请求,其中'token'为OAuth生成的token的值。当在移动设备上发出此请求时,请求 http://localhost/?state=...&code=...
无法识别并且应用程序无法启动,我只收到网页不存在的错误屏幕。
有什么办法可以解决这个问题吗? 谢谢
答:由于app的源地址是http://localhost,而本地服务器不是phone上的运行,解决方法是更改redirect_url参数应用程序包 ID 的身份验证配置。示例:com.package.id://家
这将在 OAuth 页面中完成身份验证后将您重定向回应用程序