当前位置: 首页 > 知识库问答 >
问题:

无法进行身份验证-Azure web应用与Azure Active Directory(OpenIdConnect)

牟飞沉
2023-03-14

我已经在azure中创建了一个web应用,我正在使用azure AD身份验证(OpenID Connect)对我的web应用进行身份验证。但我无法在少数机器上验证web应用。

在一些机器中,它(AAD认证)在谷歌chrome中工作,而不是在IE、Edge、Firefox中工作。

  1. 删除了所有cookie和声明
  2. 清除会话并在私有模式下测试
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

app.UseCookieAuthentication(new CookieAuthenticationOptions());

app.UseOpenIdConnectAuthentication(
                new OpenIdConnectAuthenticationOptions
                {
                    ClientId = Config.ClientId,
                    ClientSecret = Config.ClientSecret,
                    Authority = Config.Authority,
                    PostLogoutRedirectUri = Config.PostLogoutRedirectUri, 
                    RedirectUri = Config.PostLogoutRedirectUri,  
                    Notifications = new OpenIdConnectAuthenticationNotifications()
                    { 
                    }
                });
}

当我试图用Azure AAD登录时。我收到了错误消息,比如“我们无法让你登录”。请再试一次。'

无错误登录浏览器控制台

网址:*https://login.microsoftonline.com/TENANTID/oauth2/authorize?client_id=CLIENTID

已启用azure身份验证/授权

共有3个答案

鞠源
2023-03-14

我遇到了同样的错误信息。但在我的例子中,我在控制台中看到我的应用程序/signin oidc(302)上有很多调用。

问题是,我从配置服务方法中删除了以下行:

services.Configure<CookiePolicyOptions>(options =>
            {
                // This lambda determines whether user consent for non-essential cookies is needed for a given request.
                options.CheckConsentNeeded = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

更换后一切正常。

HTH, J.

包兴思
2023-03-14

经过一些研究,我发现您需要使用HTTPS,并在de Startup下编写这段代码。cs文件:

using Microsoft.Owin.Host.SystemWeb;


public void ConfigureAuth(IAppBuilder app)
{
    app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

    app.UseCookieAuthentication(new CookieAuthenticationOptions {
                CookieManager = new SystemWebCookieManager()
    });
...

如果您使用的是Azure App,请按照以下步骤强制应用程序始终使用https:

>

导航到应用服务。

点击报告的应用程序。

在设置部分下,单击“TLS/SSL设置”。

在“协议设置”中,将“仅限HTTPS”设置为“开启”。

拓拔奇
2023-03-14

问题:在google chrome工作,而不是在IE,Edge,Firefox,Safari。

如何解决这个问题:这个问题已经在ASP中解决了。净核心。要解决此问题,可以将应用程序升级为使用ASP。净核心。如果你必须继续使用ASP。NET,执行以下操作:更新应用程序的Microsoft。奥温。主办SystemWeb包的版本至少为,并修改代码以使用一个新的cookie manager类,例如以下内容:

app.UseCookieAuthentication(new CookieAuthenticationOptions 
{ 
    AuthenticationType = "Cookies", 
    CookieManager = new Microsoft.Owin.Host.SystemWeb.SystemWebChunkingCookieManager() 
});

参考链接

 类似资料:
  • 问题内容: 我正在尝试使用swift来对本地播放器进行身份验证,但是每次我为.authenticated属性获取错误值时,都无法使用。这是我正在使用的代码,应用启动时,主视图控制器会调用它。 它可以很好地显示登录视图,但是当我输入测试帐户登录名时,它只是将as 返回为false。iTunes Connect中的捆绑包标识符和info.plist完全相同,版本和应用程序名称也相同。iTunes Co

  • ii)$jboss_home/bin/kcadm.sh配置凭据--服务器http://localhost:8080/auth--realm master-user uadmin--password${UADMIN_PWD} iii)$jboss_home/bin/kcadm.sh create realms-s realm=myrealm-s enabled=true 最重要的是- 对于领域创建过

  • 致命:“https://github.com/scuzzlebuzzle/ol3-1.git/'”身份验证失败

  • 我正在尝试使用urllib3连接到网页。代码如下所示。 如果我们假设url是需要使用用户名和密码进行身份验证的某个网页,那么我是否使用正确的代码进行身份验证? 我使用urllib2做这件事很舒服,但使用urllib3做不到同样的事情。 非常感谢

  • jwt不应该仅仅用于认证用户吗?我读到过可以在里面存储非敏感的东西,比如用户ID。将权限级别之类的东西存储在令牌中可以吗?这样我可以避免数据库调用。

  • 问题内容: 我有一个Node.js程序,该程序使用root帐户连接到本地MySQL数据库(这不是生产设置)。这是创建连接的代码: 它可以与MySQL 5.7一起使用,但是由于安装了MySQL 8.0,因此在启动Node.js应用程序时出现此错误: 看来根帐户使用了一种新的密码哈希方法: …但是我不知道为什么Node.js无法连接到它。我已经更新了所有npm软件包,但这仍然是一个问题。 我想保留新的