gpt4 book ai didi

angularjs - 在 Office 365 的 Angular JS 应用程序中使用 Adal JS

转载 作者:行者123 更新时间:2023-12-03 08:08:05 25 4
gpt4 key购买 nike

我正在创建一个使用 Angular JS 和 Adal Js 连接到 Office 365 的基本 html 站点。以下是面临的问题 -

  • 该页面不是出于登录目的重定向 .

  • 浏览器控制台。

  • 我已使用以下详细信息在 Azure AD 中配置了应用程序 -
  • 登录网址:http://localhost : 端口号/
  • APP ID URI : https://租户名称/ThomasO365
  • 回复网址:http://localhost : 端口号/
    已向应用程序提供 Exchange 和 SharePoint 权限。

  • 申请码

    var o365CorsApp = angular.module("o365CorsApp", ['ngRoute', 'AdalAngular']) // loading the ADAL JS Angular module


    o365CorsApp.config(['$routeProvider', '$httpProvider', 'adalAuthenticationServiceProvider',

    function($routeProvider, $httpProvider, adalProvider) {
    $routeProvider
    .when('/', {
    controller: 'HomeController',
    templateUrl: 'index.html',
    requireADLogin: true
    })
    .otherwise({
    redirectTo: '/'
    });

    var adalConfig = {
    tenant: '<tentant name>',
    clientId: '<client id>',
    extraQueryParameter: 'nux=1',
    endpoints: {
    "https://outlook.office365.com/api/v1.0": "https://outlook.office365.com/"
    }
    };

    adalProvider.init(adalConfig, $httpProvider);

    }
    ]);



    o365CorsApp.factory('o365CorsFactory', ['$http',
    function($http) {
    var factory = {};

    factory.getContacts = function() {

    return $http.get('https://outlook.office365.com/api/v1.0/me/contacts')

    }

    return factory;
    }
    ]);




    o365CorsApp.controller("HomeController", function($scope, $q, o365CorsFactory) {

    o365CorsFactory.getContacts().then(function(response) {
    $scope.contacts = response.data.value;
    });


    });
    <html ng-app="o365CorsApp">

    <head>

    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-route.min.js"></script>
    <script type="text/javascript" src="adal-angular.js"></script>
    <script type="text/javascript" src="adal.js"></script>

    <script type="text/javascript" src="app.js"></script>
    </head>

    <body ng-controller="HomeController">{{contacts.Email}}
    <br/>
    <p></p>

    </body>

    </html>


    我正在引用 this文章。我使用 Brackets 而不是 Visual Studio。

    笔记-
  • 租户和客户 ID 是正确的。
  • Oauth2AllowImplicitFlow 在 list 文件中设置为 true。
  • 最佳答案

    我正在阅读那篇文章并发现一些遗漏。这是我发现的一些问题(但不知道它们是否导致您的错误):

  • 剪切和粘贴代码会在 app.js 的 URL 中引入额外的空格。确保 ? 之间没有尾随空格或空格和其余的 URL。
  • app.js 中的代码具有 tenant 的值和 clientId这显然是给作者的,他们从来没有告诉你如何用你的应用程序的有效值替换那些值。您可以获得正确的clientId从 Azure 管理门户。 tenant获取 GUID 有点棘手,但幸运的是,您可以将域名放在那里(例如 contoso.onmicrosoft.com )。

  • 其他检查事项:
  • 通过下载 list ,设置 oauth2AllowImplicitFlow,确保您启用了隐式 OAuth2 流。至 true ,并重新上传(根据文章)。
  • 确保您使用与您在 tenant 中指定的域相同的域中的帐户登录应用程序。属性(property)。
  • 尝试更改您的回复 URL 以删除 index.html .这可能会干扰 ADAL 库 token 解析器。
  • 关于angularjs - 在 Office 365 的 Angular JS 应用程序中使用 Adal JS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31759350/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com