Wir haben versucht, Anfragen mit CSOM/REST Authentication Bearer Header-Anforderungen mit einem Token an Sharepoint zu stellen. Es wird im Folgenden auf diese Frage bezogen werden:JWT CSOM/REST Azure Active Directory
C# CSOM Sharepoint Bearer request from azure active directory
Es gibt nur einen Link/Beispiel dafür ist, dass alle anderen, einschließlich der Android ADAL Ansatz funktioniert nicht funktionieren.
https://samlman.wordpress.com/2015/02/27/using-adal-access-tokens-with-o365-rest-apis-and-csom/
Sie scheinen so lange ein Token nicht zurück, wenn wir auf dem Token in JWT Parser betrachten, können wir user_impersonate sehen, dass die eine der scp Wert verschieden ist, die hat versagt, aber die funktionierende hat AllSites.Manage AllSites.Read AllSites.Write MyFiles.Read MyFiles.Write. Die aud URL ist auch anders, sind eine oder beide von dem Problem und wie bekomme ich es funktioniert?
Dies ist die, die versagt:
{
"aud": "https://srmukdev.onmicrosoft.com/3Squared-Api-Test",
"iss": "...",
"iat": ...,
"nbf": ...,
"exp": ..,
"acr": "...",
"aio": "...",
"amr": [
"pwd",
"mfa"
],
"appid": "...",
"appidacr": "0",
"e_exp": ...,
"family_name": "...",
"given_name": "...",
"ipaddr": "...",
"name": "...",
"oid": "...",
"onprem_sid": "...",
"platf": "3",
"scp": "user_impersonation",
"sub": "...",
"tid": "...",
"unique_name": "...",
"upn": "...",
"ver": "1.0"
}
Dies ist die, die funktioniert:
{
"aud": "https://srmukdev.sharepoint.com/",
"iss": "...",
"iat": ...,
"nbf": ...,
"exp": ...,
"acr": "...",
"aio": "...",
"amr": [
"pwd",
"mfa"
],
"app_displayname": "...",
"appid": "...",
"appidacr": "0",
"e_exp": ...,
"family_name": "...",
"given_name": "...",
"ipaddr": "...",
"name": "...",
"oid": "...",
"onprem_sid": "...",
"platf": "3",
"puid": "...",
"scp": "AllSites.Manage AllSites.Read AllSites.Write MyFiles.Read MyFiles.Write",
"sub": "...",
"tid": "...",
"unique_name": "...",
"upn": "...",
"ver": "1.0"
}
Hallo Fei Xue, ja, dass das Problem war, wurde die Ressource-Namen zu ändern, was erforderlich, um . Ich kann nun Zugriff mit dem Bearer-Token erhalten, scheint jedoch nicht in der Lage zu sein, die Benutzerprofileigenschaften mithilfe der GetUserProfilePropertiesFor-Methode abzurufen, wird dies jedoch als weitere Frage aufwerfen. Danke vielmals – Andrew