【问题标题】:Authentication in Office addin using ADAL and Dialog API使用 ADAL 和 Dialog API 在 Office 插件中进行身份验证
【发布时间】:2019-06-16 02:49:48
【问题描述】:

无法使用 Dialog API 和 ADAL 对 Office 加载项进行身份验证。

我正在尝试使用 Dialog API 和 ADAL 对用户进行身份验证。对话框打开正常,但我收到请求中指定的回复 url 与为应用程序配置的回复 url 不匹配的错误。回复 url 在代码和应用注册中都配置为对话 URL。

        $("#btnSignin").click(function () {
            var url = "https://localhost:44367/auth.html";
            Office.context.ui.displayDialogAsync(url, { height: 40, width: 40 }, function (result) {
                _dlg = result.value;
                _dlg.addEventHandler(Microsoft.Office.WebExtension.EventType.DialogMessageReceived, dialogMessageReceived);
            });
        });

URL - https://localhost:44367/auth.html 被配置为redirectUri,并且在调试时authcontext.config.redirectUri 也指向https://localhost:44367/auth.html?_host_Info=Excel$Win32$16.01$en-US$telemetry$isDialog"。

我不知道为什么它会给出错误,虽然 url 配置正确。还有其他要添加的 redirectUri 吗?

【问题讨论】:

    标签: office-js adal office-addins adal.js office-web-app


    【解决方案1】:

    评论有点复杂,所以我现在将使用“答案”。

    您在哪里看到错误?在 JavaScript 控制台中?在弹出窗口中?

    请在 Azure 门户中打开应用注册的原始清单,并查看 replyUrlsWithType 属性的值。

    请使用 Fiddler 工具查看前往登录 URL 的 HTTP 请求:

    https://login.microsoftonline.com/{YOUR O365 TENANCY GUID}/oauth2/v2.0/authorize?scope={VARIOUS SCOPES}&response_type=code&client_id={YOUR APP'S REGISTRATION ID IN AAD}&redirect_uri={YOUR LOCALHOST REDIRECT URL}

    作为redirect_uri 发送的确切字符串是什么?它将是 URL 编码的,否则它应该与原始清单中的内容相匹配。

    【讨论】:

    • 嗨瑞克,谢谢您的回复。原始清单包含 URL 为 localhost:44367/auth.html 和 type="web"。而且在提琴手跟踪中,重定向 uri 是localhost:44367/auth.html。编码的 URL (redirect_uri=https%3a%2f%2flocalhost%3a44367%2fauth.html) 但我仍然收到同样的错误。错误发生在弹出窗口中。
    • @AhmedVali 尝试运行加载项,然后在浏览器中直接导航到 localhost:44367/auth.html。您会收到一个错误,即 Office.js 在 Office 客户端之外加载,但我想看看您是否收到任何其他错误以及登录页面是否打开。
    • 嗨 Rick,我没有看到任何其他错误。我只能看到 Office.js 在 Office 客户端之外加载的警告。
    • @AhmedVali 错误消息是否提供了应用程序的 GUID?如果是,它是否与您的加载项的注册应用 ID 匹配?如果不是,GUID 是什么?
    • 嗨 Rick,在 Azure 门户中授予 access_tokens 权限是否需要做任何事情?我之前只启用了 id_tokens。但是现在在启用 access_tokens 之后,身份验证工作正常。但我不知道为什么错误显示为回复 url 不正确?
    猜你喜欢
    • 1970-01-01
    • 2017-04-02
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多