Adal.js不触发身份验证

Adal.js not triggering the authentication

本文关键字:身份验证 js Adal      更新时间:2023-09-26

我正在尝试将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 登录页面,但它不会转到。

我认为你的租户 ID 可能是正确的 - 它必须是 AD 门户在 Azure 门户中的应用 ID URI(减去应用程序名称)的任何内容。 我也会看看清单 - 这是一件大事。 这些步骤在 Omar 链接的页面上。 SinglePageApp 示例是开始时的一个很好的资源,并且该示例很干净,如果对于 adal 部分来说可能有点微不足道。 您还应该查看outvittorio出色的深入研究,以获得对adal的良好解释和精彩评论.js

对我来说

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

您的问题:我认为您对链接有问题。你的链接应该是这样的: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 关键字来中断路由更改事件。如果未看到任何重定向,则可能与未触发路由更改事件有关。我建议在您的应用程序中添加不同的路线,以首先验证角度路线。

一般准则:可以先试用示例应用,以查看配置是否正常工作。示例应用:https://github.com/AzureADSamples/SinglePageApp-DotNet

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

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