通过Rest Call查询Windows Azure Active Directory图表Api

 顺佳海外 发布于 2023-02-03 10:01

根据这个:http: //msdn.microsoft.com/en-us/library/windowsazure/dn424880.aspx 和这个 http://msdn.microsoft.com/en-us/library/windowsazure/hh974467.aspx

我应该可以做一个get请求

https://graph.windows.net//tenantDetails?api-version=0.9

我正在使用Fiddler刚入门.在作曲家中设置:User-Agent:Fiddler Host:graph.windows.net授权:Bearer eyJ0eXA ....(我的令牌,使用来自WAAL的一些c#来获取令牌).

这是返回的内容

HTTP/1.1 401 Unauthorized
Cache-Control: private
Content-Type: application/json;odata=minimalmetadata;streaming=true;charset=utf-8
Server: Microsoft-IIS/8.0
WWW-Authenticate: Bearer realm="", error="invalid_token", error_description="Access Token missing or malformed.", authorization_uri="https://login.windows.net//oauth2/authorize", client_id="00000002-0000-0000-c000-000000000000"
ocp-aad-diagnostics-server-name: 11iIdMb+aPxfKyeakCML7Tenz8Kyy+G8VG19OZB/CJU=
request-id: 99d802a3-0e55-4018-b94d-a8c00ec8f171
client-request-id: 7ed93efd-86c5-4900-ac1f-747a51fe1d8a
x-ms-dirapi-data-contract-version: 0.9
X-Content-Type-Options: nosniff
DataServiceVersion: 3.0;
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
X-Powered-By: ARR/3.0
X-Powered-By: ASP.NET
Date: Tue, 14 Jan 2014 00:13:27 GMT
Content-Length: 129

{"odata.error":{"code":"Authentication_MissingOrMalformed","message":{"lang":"en","value":"Access Token missing or malformed."}}}

当我在我的应用程序中执行某些操作时,令牌被接受,所以我不相信它的格式错误.

1 个回答
  • 我一直遇到这个问题.我使用以下代码为我的原生应用程序获取持票人令牌:

            var authContext = new AuthenticationContext("AUTHORITY");
            string token;
            try
            {
                var authresult = authContext.AcquireToken("MYAPP_ID","MYAPP_CLIENTID","MYAPP_REDIRECTURI");
                token = authresult.AccessToken;
            }
    

    使用该令牌可以很好地在我自己的应用程序中授权操作,但是当我尝试使用相同的令牌作为Graph API的授权时,我会得到与OP相同的错误.

    我必须要做的是专门为Graph API获取一个新的令牌 - 我使用了与上面相同的代码,但我用的是"https://graph.windows.net"代替"MYAPP_ID".因此,为了清楚起见,以下代码为Graph API提供了正确的OAuth令牌:

            var authContext = new AuthenticationContext("AUTHORITY");
            string token;
            try
            {
                var authresult = authContext.AcquireToken("https://graph.windows.net","MYAPP_CLIENTID","MYAPP_REDIRECTURI");
                token = authresult.AccessToken;
            }
    

    只需确保在Azure中注册的应用程序具有访问Azure域目录所需的权限.

    2023-02-03 10:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有