带有Microsoft Azure Active Directory 的 Ionic 自定义登录页面


  1. 我用离子框架创建了自定义登录视图。我希望用户使用 Azure Active Directory 登录到应用Microsoft。这可能吗?我还使用 coucbdb 发布我在表单中创建的待办事项。该应用程序是一个待办事项应用程序,具有两个选项卡,用于查看所有待办事项,另一个选项卡用于创建。
  2. 尝试过什么:我遇到了Active Directory Adal Apache Cordova的问题。用户可以登录和注销应用。当用户在注销时点击移动设备上的后退按钮时,仍然可以查看应用程序上的内容。我禁用了移动设备上的后退按钮,但它仅在您在应用程序的视图上而不是Microsoft注销页面上时才有效。我不希望我的用户在注销甚至未进行身份验证时可以看到其他视图。我也不能将 ADAL 用于 JavaScript,因为它不适用于混合应用程序。

根据我的理解,我们需要自己实现业务逻辑来保护视图。

例如,我们可以确定是否根据 Apache Cordova 应用程序的 Active Directory 身份验证库 (ADAL( 插件检索到的令牌显示视图,如以下代码所示:

var authContext = new Microsoft.ADAL.AuthenticationContext("https://login.windows.net/common");
authContext.tokenCache.readItems().then(function (items) {
  console.log("Num cached items: " + items.length);
});

要注销应用程序,您可以参考此库的建议,如下所示:

与本机实验室类似,该插件不提供特殊的注销方法,因为它取决于服务器/应用程序逻辑。这里的建议是

步骤1:清除缓存

var authContext = new Microsoft.ADAL.AuthenticationContext("https://login.windows.net/common"); authContext.tokenCache.clear() ;

步骤 2:使XmlHttpRequest(或打开 InAppBrowser 实例(指向注销 URL。在大多数情况下,网址应如下所示:https://login.windows.net/{tenantid or "common"}/oauth2/logout?post_logout_redirect_uri={URL}