我正在尝试在移动Cordova应用程序中使用AWS Cognito对SSO用户进行身份验证。 SSO身份验证的常规流程是: 1.在登录表单中填写用户名和密码 2.提交凭据后,将其发送到客户IDP页面 3.验证完成后,当我应该获取用户的属性(clientId等)时,会将用户重定向到另一个页面
由于我正在编写移动应用程序,因此重定向存在问题,因为我想在./而不是“ https://whatever ...”中获取clientId到我的应用程序中。
所以我正在使用一个inappbrowser-但是现在我发现该inappbrowser不能很好地用于重定向。我发现重定向时会打开一个新会话,而我无法使用它的属性。
有人能解决如何在InAppBrowser中捕获重定向吗? 还是如何在移动应用程序中实现AWS Cognito SSO流?
这是我的代码:
window.win = window.open(Cognito_IDP_Page_Url, "_blank", "EnableViewPortScale=yes");
var loop = setInterval(function() {
win.executeScript(
{
code: "window.location.href"
},
function( values ) {
alert("href is: " + values);
var loc = values[ 0 ];
if ( loc.indexOf("clientId") > -1 ) {
clearInterval( loop );
alert(loc);
}
}
);
}, 10000);
它在第一页(客户IDP页)上运行良好,但是在重定向之后,它不再起作用。 谢谢