如何解决当我使用 Azure 静态 Web 应用程序时,为什么 msal-angular `loginPopup` 会弹出它自己的页面
当我调用“msal-angular”的MsalService.loginPopup时,它自己的页面是这样弹出的。
当我从 customain 登录并尝试从默认域(从 Azure 静态 Web 应用发布)登录时会发生这种情况
import { Inject,Injectable } from '@angular/core';
import { MsalService } from '@azure/msal-angular';
import { LOGIN_REQUEST_TOKEN,LoginRequest,TOKEN_REQUEST_TOKEN,TokenRequest } from './config';
import { defer,from,Observable,of } from 'rxjs';
import { AuthResponse } from 'msal';
import { isIE } from './isIE';
export function checkClientLogin(): boolean {
return !!localStorage.getItem('isLogin');
}
const extraScopesToConsent = [ 'user.read','openid','profile' ];
@Injectable()
export class MsalAuthService {
constructor(
private msalService: MsalService,) {
}
login(): Observable<AuthResponse> {
return defer(() => {
if (isIE) {
return this.msalService.loginRedirect({extraScopesToConsent});
} else {
return from(this.msalService.loginPopup({extraScopesToConsent}));
}
});
}
}
解决方法
当您在代码中使用 msal-angular 并对自己进行身份验证时,将出现另一个弹出窗口,将您重定向到 login.microsoftonline.com。如您的代码中所述,它在需要弹出和需要重定向时声明。
Azure 静态应用支持带有模型对话框的 loginPopUp。 了解有关 Azure 静态 Web 应用和模型对话框的更多信息:
https://docs.microsoft.com/en-us/azure/static-web-apps/
https://docs.microsoft.com/en-us/azure/devops/extend/develop/using-host-dialog?view=azure-devops
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。