【问题标题】:adal-node Server-to-Server returns "Unsupported app only token."adal-node 服务器到服务器返回“不支持的应用程序唯一令牌”。
【发布时间】:2016-02-02 16:02:30
【问题描述】:

当尝试通过客户端凭据将 here 的 adal-node 库用于服务器到服务器时,该代码适用于发现端点等,但是当尝试将其与 Office 365 一起使用时,我得到“不支持仅应用令牌”错误。

我想知道是否需要将证书加载到 Azure AD 中,但不知道如何从我的节点脚本中使用它。

任何指向正确方向的指针或关于这是否是问题的想法都非常感谢。

提前非常感谢。 D.

【问题讨论】:

    标签: node.js azure adal


    【解决方案1】:

    由于 Office 365 统一 API 已集成到 Microsoft Graph,因此我们可以获取 Office 365 API 的服务器到服务器访问令牌,参考 Call Microsoft Graph in a service or daemon app

    如果您使用azure-activedirectory-library-for-nodejs 作为访问令牌,我们需要在此示例中进行一些修改:

    if (!parametersFile) {
      sampleParameters = {
        tenant : '<tenant_id>',
        authorityHostUrl : 'https://login.microsoftonline.com',
        clientId : '<AD_application_client_id>',
        clientSecret : '<client_secret_key>'
      };
    }
    
    var authorityUrl = sampleParameters.authorityHostUrl + '/' + sampleParameters.tenant;
    
    // var resource = '00000002-0000-0000-c000-000000000000';
    var resource = 'https://graph.microsoft.com/';
    

    【讨论】:

    • 谢谢。是的,访问图形 api 似乎有效,但我认为这不能让我访问共享点列表?
    • 当我将资源指定为图形 api 并尝试使用 tenantid.sharepoint.com/_api/web 端点时,它会抱怨“无效的受众”。如果我将资源更改为共享点的资源(即tenantid.sharepoint.com),我会收到“不支持的应用程序唯一令牌”错误。
    • 您的场景似乎与technet.microsoft.com/en-us/library/jj219546.aspx 的“识别信任关系集”部分下的案例 2 类似,这可能会对您有所帮助。
    猜你喜欢
    • 2018-07-12
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    • 2022-01-03
    • 2019-12-04
    • 1970-01-01
    相关资源
    最近更新 更多