ich einen neuen Antrag auf Zugang Office-Daten durch den Rest API schreiben, deshalb würde ich das neue Authentication Model (V2.0 Endpoint)ADAL - AcquireTokenSilentAsync fehlschlägt (Azure Active Directory-Authentifizierung Bibliotheken)
What's different about the v2.0 endpoit verwenden möchte
ich ein Token mit einem Aufruf an
private static string[] scopes = { "https://outlook.office.com/mail.read", "https://outlook.office.com/calendars.read" };
public async Task<ActionResult> SignIn()
{
... SNIP
Uri authUri = await authContext.GetAuthorizationRequestUrlAsync(scopes, null, clientId, redirectUri, new UserIdentifier("[email protected]", UserIdentifierType.RequiredDisplayableId), null);
return Redirect(authUri.ToString());
}
authContext.AcquireTokenByAuthorizationCodeAsync(authCode, redirectUri, credential, scopes)
das Problem bekommen kann, ist der zweite Aufruf von
public async Task<ActionResult> SignIn()
{
... SNIP
var authResult = authContext.AcquireTokenSilentAsync(scopes, clientId, new UserIdentifier("[email protected]", UserIdentifierType.RequiredDisplayableId))
}
Das zurückgegebene Token enthält die UniqueId, aber diese Information wird nicht im Token-Objekt gespeichert. Die UserInfo des Tokens ist immer null. Da dieses Feld null ist, kann der Token-Cache das Token nicht finden.
Vielen Dank für Ihre Hinweise und Ideen
Token Retour
{
"aud":"https://outlook.office.com",
"iss":"https://sts.windows.net/f2ac6f3f-3df0-4068-a677-e4dfdf924b2/",
"iat":146 dfdf21,
"nbf":146 dfdf4621,
"exp":1463 dfdf38521,
"acr":"1",
"amr":[
"pwd"
],
"appid":"b13dfdf9-0561-4dfdff5-945c-778dfdf0de5cd",
"appidacr":"1",
"family_name":"Pan",
"given_name":"Peter",
"ipaddr":"12.12.12.17",
"name":"Peter Pan",
"oid":"4b83dfdfdb-f6db-433e-b70a-2f9a6dbbeb48",
"puid":"100dfdfdfF5FBC",
"scp":"Calendars.Read Mail.Read Mail.ReadWrite",
"sub":"Z-chdfdsfnWqduUkCGZpsIdp-fdhpMMqqtwcHGs",
"tid":"f2ac6f3f-3560-4068-a677-e4bfe0c924b2",
"unique_name":"[email protected]",
"upn":"[email protected]",
"ver":"1.0"
}
ähnliche Frage: Here
Im Moment benutze ich diese Problemumgehung bereits, aber auf diese Weise kann der integrierte Token-Cache der ADAL-Bibliothek nicht verwendet werden –