Adal.js 未触发身份验证

Adal.js not triggering the authentication

我正在尝试将 adal.js 集成到我的应用程序中。以下是我的代码。谁能告诉我为什么没有触发身份验证。

   var app = angular.module('TestWebApp', [
'ngRoute',
'testControllers',
'testServices',
'datatables',
'AdalAngular'

]);

/**
* Configure the Routes
*/
app.config(['$routeProvider', '$httpProvider',     'adalAuthenticationServiceProvider', function ($routeProvider, $httpProvider, adalAuthenticationServiceProvider) {


 $routeProvider
// Home
  .when("/dashboard", {templateUrl: "partials/package.html", controller: "searchCtrl",requireADLogin: true})
// else 404
  .otherwise("/404", {templateUrl: "partials/404.html", controller: "searchCtrl"});

  adalAuthenticationServiceProvider.init(
 {
 tenant: 'test.onmicrosoft.com',
 clientId: '23234sf-sdf-------'
 },
 $httpProvider
);
}]);

我的页面 url 是 link 这个。

http://localhost:8081/test-ui/#/dashboard

这应该会转到 Azure 登录页面,但不会。

您的问题: 我认为您对 link 有疑问。你的 link 应该是这样的:http://localhost:8081/test-ui#/dashboard

<a href="#/home">Home</a>
<a href="#/todoList">ToDo List</a>
<a href="#/contactList">Contact List</a>

Adal.Js 使用 requireADLogin 关键字来中断路由更改事件。如果您没有看到任何重定向,则可能与未触发的 routechange 事件有关。我建议向您的应用添加不同的路由,以首先验证 angular 路由。

一般准则:您可以先试用示例应用程序,看看您的配置是否有效。 示例应用程序:https://github.com/AzureADSamples/SinglePageApp-DotNet

如果您遇到配置问题,可以按照自述文件中的步骤设置您的应用配置。

如果示例应用程序适用于您的配置并且您的应用程序有问题,您可以通过 Fiddler 查看调用并进一步调试到 adal.js。登录重定向事件还广播 adal:loginRedirect.

我认为您的 tenantID 可能是正确的 - 它需要是您的 AD 门户在您的 Azure 门户中为应用程序 ID URI(减去应用程序名称)所具有的任何内容。我还会查看清单 - 这是一项非常重要的更改。这些步骤在 Omar 链接的页面上。 SinglePageApp 示例是一个很好的入门资源,并且该示例很干净,即使对于 adal 部分来说可能有点微不足道。您还应该查看vittorio's excellent deep dive以获得对adal.js

的良好解释和精彩评论

对我来说,问题是我有一个登录按钮和一个由于 action="#" 而重定向的表单,因此 Azure 重定向不起作用。 我刚刚删除了整个 action-属性并且它起作用了