关于我的设置。我创建了一个使用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中却有这么多问题?
有什么建议吗?
1条答案
按热度按时间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环境中未出现错误。使用证书
IIS使用的是什么证书并不重要。只要你保持appsettings,pfx文件就会从你上传到Azure的证书导出。它的工作。