Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure active directory 有没有办法在应用加载时触发登录页面?_Azure Active Directory_Msal_Angular11 - Fatal编程技术网

Azure active directory 有没有办法在应用加载时触发登录页面?

Azure active directory 有没有办法在应用加载时触发登录页面?,azure-active-directory,msal,angular11,Azure Active Directory,Msal,Angular11,是否有方法在首次加载应用程序时触发Azure Active Directory登录页面 我目前在Angular 11 intranet站点上有一些身份验证代码,该站点使用APP_初始值设定项在用户第一次点击URL时获取用户的Windows凭据,并从那里将数据传递到能够对用户进行身份验证并获取所需信息的API 使用拦截器拦截对API的调用,并在请求中添加withCredentials字段以实现此目的 我目前正在考虑使用类似的Azure广告来替代此功能,因为我们正在从IIS托管的web服务器转移到A

是否有方法在首次加载应用程序时触发Azure Active Directory登录页面

我目前在Angular 11 intranet站点上有一些身份验证代码,该站点使用APP_初始值设定项在用户第一次点击URL时获取用户的Windows凭据,并从那里将数据传递到能够对用户进行身份验证并获取所需信息的API

使用拦截器拦截对API的调用,并在请求中添加withCredentials字段以实现此目的

我目前正在考虑使用类似的Azure广告来替代此功能,因为我们正在从IIS托管的web服务器转移到Azure应用程序服务上托管。据我所知,一旦托管在Azure上,通过浏览器进行的Windows身份验证就不起作用,因此下一个最佳选择似乎是Azure AD,因为它仍然包含类似于Windows登录的员工数据(使用组织登录)

到目前为止,我已经了解了以下内容:

  • 包含有关使用MSAL v2的信息,但没有任何示例显示如何立即提示用户登录,而不必先单击登录按钮。我能让它工作的最接近的方法是在app.component.ts中的ngOnInit()函数末尾添加这个.login(),但这感觉相当像一个黑客,并不像app\u初始值设定项那样正确地执行
  • 这里向我展示了如何创建一个应用程序,提示用户在加载时登录,但它使用的是更旧的MSAL v1库。如果可能的话,我想使用v2,以防v1最终被弃用

我愿意接受任何有助于我继续使用Windows身份验证的想法,但也很乐意迁移到Azure AD。

由于您的应用程序是在Azure应用程序服务上托管的,您可以使用应用程序服务验证来实现它:谢谢。我不确定我是否做得对,但我已经设法通过MSALGuard使其强制进行身份验证。我遇到了一些其他问题(即,我对API的请求没有附加Authenticate标头,并且当用户第一次成功进行身份验证时,通过主页上应用的保护进行身份验证会将令牌数据作为查询参数附加到URL上)。你知道有没有这样一个例子,它使用通过Azure Portal完成的身份验证,而不是在Angular上使用MSAL库?