我在 Azure 广告中注册了一个应用程序。
当我使用以下详细信息执行 ADAL 时,我会获得一个授权令牌以与 microsoft graph api 一起使用。
`username = '[email protected] /cdn-cgi/l/email-protection'
password = 'password123'
client_id = application id from azure ad
client_secret = keys from application on azure ad
tenant = directory id from azure ad`
使用此令牌,我可以获取我的共享点帐户中的所有站点的列表。
下面是我调用的端点来获取带有不记名令牌的站点:https://graph.microsoft.com/v1.0/sites?search=*
但是,当我仅使用使用以下端点生成的令牌进行客户端身份验证时,我无法访问站点列表。login.microsoftonline.com/tenant_id/oauth2/v2.0/token
`grant_type : client_credentials
clientid : client_id
clientsecrte : client_secret
scope : https://graph.microsoft.com`
它不会返回所有站点。
有没有一种方法只需客户端身份验证即可获取所有站点列表。
或者我可以获得一个没有用户密码的用户身份验证令牌。
这是我正在使用的解码令牌:{
"aud": "https://graph.microsoft.com",
"iss": "https://sts.windows.net/586145ec-0428-4da6-8061-fb114257ab70/",
"iat": 1528949458,
"nbf": 1528949458,
"exp": 1528953358,
"aio": "Y2dgYLh*************xAAA=",
"app_displayname": "App Name",
"appid": "504ddb16-2899-48be-be57-**********",
"appidacr": "1",
"idp": "https://sts.windows.net/586145ec-0428-4da6-8061-fb114257ab70/",
"oid": "afcf166f-24c2-49f1-b285-b672d0413c50",
"roles": [
"Sites.Read.All",
"Sites.ReadWrite.All",
"Sites.Manage.All",
"Sites.FullControl.All",
],
"sub": "afcf166f-24c2-49f1-b285-b672d0413c50",
"tid": "586145ec-0428-4da6-8061-fb114257ab70",
"uti": "hwYd8FZCH0KruWGRFiIHAA",
"ver": "1.0"
}
我还获得了其他权限,但这些权限与 Microsoft Graph api 中的站点相关