Ниже приведен мой рабочий код для MS ADAL с Ionic 3.
const SsoConfig = {
"authority": "https://login.windows.net/common",
"resourceUrl": "https://graph.windows.net",
"clientId": [clientId]
"redirectUrl": "https://login.microsoftonline.com/common/oauth2/nativeclient"
};
let authContext: AuthenticationContext = this.msAdal.createAuthenticationContext(SsoConfig.authority);
authContext.acquireTokenAsync(SsoConfig.resourceUrl, SsoConfig.clientId, SsoConfig.redirectUrl, "", "")
.then((authResponse: AuthenticationResult) => {
console.log(authResponse);
})
.catch((e: any) => {
console.log('Authentication failed')
});
Теперь, используя приведенный выше код, мне приходится каждый раз входить в систему. Это не хранение данных. Итак, я попытался с приведенным ниже кодом, но он не работает.
authContext.tokenCache.readItems().then(function (catchItems: any) {
if (catchItems.length > 0) {
authority = catchItems[0].authority;
console.log(catchItems);
}
authContext.acquireTokenSilentAsync(SsoConfig.resourceUrl, SsoConfig.clientId, "")
.then((silentAuthResponse: AuthenticationResult) => {
console.log(silentAuthResponse);
})
.catch((e: any) => {
authContext.acquireTokenAsync(SsoConfig.resourceUrl, SsoConfig.clientId, SsoConfig.redirectUrl, "", "")
.then((authResponse: AuthenticationResult) => {
console.log(authResponse);
})
.catch((e: any) => {
this.Message = "Authentication failed";
console.log(e)
});
});;
});
Может ли кто-нибудь помочь мне в этом ??