在AAD应用程序注册中,Implicit Grant Flow为true;
我们已将权限委派给User.Read和User.Read.All.
我们已将权限委派给User.Read和User.Read.All.
private static getContext(): Msal.UserAgentApplication { if (AuthenticationService.Context) return AuthenticationService.Context; const logger = new Msal.Logger((_logLevel,message,_piiEnabled) => { console.log(message); },{ level: Msal.LogLevel.Verbose,correlationId: "12345" }); AuthenticationService.Context = new Msal.UserAgentApplication( Environment().authentication.clientId,AuthenticationService.getAuthority(),(errorDesc,token,error,_tokenType) => { if (token) { AuthenticationService.isAuthenticated = true; AuthenticationService.accessToken = token; } else { const localizedError: string = LocalizationService.localize(error); alert(localizedError !== error ? localizedError : errorDesc); } },{ logger: logger,storeAuthStateInCookie: true,state: "12345",cacheLocation: "localStorage" // enable this for IE,as sessionStorage does not work for localhost. }); if (AuthenticationService.Context.getUser()) { AuthenticationService.isAuthenticated = true; } return AuthenticationService.Context; }
public static login(): void { const context: Msal.UserAgentApplication = AuthenticationService.getContext(); if (context.loginInProgress()) return; AuthenticationService.CurrentUser = null; context.loginRedirect(AuthenticationService.SCOPES); }
public static async getGraphToken(): Promise<string | null> { const authContext: Msal.UserAgentApplication = AuthenticationService.getContext(); const cachedUser: Msal.User = authContext.getUser(); if (!cachedUser) { return null; } return authContext.acquireTokenSilent(AuthenticationService.SCOPES); }
{ "error": { "code": "OrganizationFromTenantGuidNotFound","message": "The tenant for tenant guid '68cc0dcb-5873-4ea0-a498-fe57e9b51827' does not exist.","innerError": { "request-id": "b402e405-342a-4002-a880-84f30413cbf7","date": "2018-11-30T23:39:23" } } }