IIS配置- MVC 6 Azure AD身份验证

bpzcxfmw  于 2023-05-07  发布在  其他
关注(0)|答案(1)|浏览(406)

关于我的设置。我创建了一个使用Azure AD身份验证的MVC6项目。这是我用于json配置的模板:

{
  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "TenantId": "blahblahblahblahblah",
    "ClientId": "blahblahblahblahblah",
    "ClientCertificates": [
      {
        "SourceType": "StoreWithThumbprint",
        "CertificateStorePath": "CurrentUser/My",
        "CertificateThumbprint": "blahblahblahblahblah"
      }
    ],
    "CallbackPath": "/signin-oidc"
  },
  "DownstreamApi": {
    "BaseUrl": "https://graph.microsoft.com/v1.0/me",
    "Scopes": "user.read"
  },
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft.AspNetCore": "Warning"
    }
  },
  "AllowedHosts": "*",
  "ConnectionStrings": {
    "DefaultConnection": "blahblahblahblahblah"
  }
}

我可以从Visual Studios运行应用程序,没有任何问题,但是一旦我尝试在IIS中托管它,我就会遇到一些Azure身份验证问题。
这就是我所尝试的:
1.我已经根据我的IIS服务器证书更改了clientid和租户ID以及CertificateThumbprint。我正在使用自签名证书。
1.我将http改为https,否则Azure不会重定向我的页面。
1.我不知道的是,如果我必须选择SSL Required,或者我应该接受Client
这些是我得到的错误(取决于我是否选择“需要SSL”或忽略客户端证书)。

  • 我的启动页面正在循环并得到以下内容:我们无法为您登录。请重试。
  • HTTP错误400错误提示请求标头的大小太长。

我100%肯定,如果我不使用Azure AD,它会显示我的页面没有任何问题,因为我已经测试过了。为什么我在Visual Studios中运行它没有问题,但在IIS中却有这么多问题?
有什么建议吗?

7uhlpewt

7uhlpewt1#

我用了这个样本https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/blob/master/2-WebApp-graph-user/2-1-Call-MSGraph/README.md
并改用路径。IIS环境中未出现错误。使用证书

"ClientCertificates": [
      {
        "SourceType": "Path",
        "CertificateDiskPath": "E:\\OneDrive\\Desktop\\SelfSigned1.pfx",
        "CertificatePassword": "123"
      }
    ],

IIS使用的是什么证书并不重要。只要你保持appsettings,pfx文件就会从你上传到Azure的证书导出。它的工作。

相关问题