1

我正在尝试将 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
);
}]);

我的页面网址是链接这个的东西。

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

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

4

3 回答 3

1

我认为您的tenantID 可能是正确的 - 它需要是您的 AD 门户在您的 Azure 门户中为应用程序 ID URI(减去应用程序的名称)所拥有的任何内容。我还会查看清单 - 这是一个相当大的改变。这些步骤在 Omar 链接的页面上。SinglePageApp 示例是开始时的一个很好的资源,并且该示例很干净,即使对于 adal 部分来说可能有点微不足道。您还应该查看vittorio 的出色深度潜水,以获得对 adal.js 的良好解释和精彩评论

于 2015-01-28T22:33:33.070 回答
1

对我来说,问题是我有一个登录按钮,其中包含一个重定向的表单,action="#"因此 Azure 重定向不起作用。我刚刚删除了整个action-attribute 并且它有效

于 2016-06-21T15:45:04.343 回答
0

您的问题:我认为您的链接有问题。你的链接应该是这样的: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 事件未触发有关。我建议向您的应用程序添加不同的路线以首先验证角度路线。

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

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

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

于 2015-01-20T20:35:15.257 回答