Tôi có ứng dụng ASP.NET MVC 5 xác thực đối với Azure Active Directory. Tôi muốn bật SSL trên ứng dụng. và do đó các bộ lọc toàn cầu được tận dụng như sau:Bật SSL trong kết quả ứng dụng ASP.NET MVC 5 trong vấn đề OpenIdConnectProtocolValidator
public class FilterConfig
{
/// <summary>
/// Registers the global filters.
/// </summary>
/// <param name="filters">The filters.</param>
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new RequireHttpsAttribute());
}
}
Sau này, tôi cũng đặt 'Bật SSL' trong thuộc tính của dự án thành đúng. Điều này đã cho tôi URL SSL sau ->https://localhost:34567. Tôi cập nhật dự án để có điều này trong đường dẫn IIS Express của nó dưới 'Tab Web' dưới Máy chủ trong 'URL dự án'. Tuy nhiên, khi chạy trang web tôi chạy đến lỗi sau:
IDX10311: RequireNonce is 'true' (default) but validationContext.Nonce is null. A nonce cannot be validated. If you don't need to check the nonce, set OpenIdConnectProtocolValidator.RequireNonce to 'false'.
Tôi có xác thực. được bật trên trang web. Tôi sử dụng thư mục Azure Active.
Mã bảo mật là như sau:
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri
});
app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Audience = audience,
Tenant = tenant,
});
Các auth. giá trị đang được đọc từ web.config và như sau:
<add key="ida:ClientId" value="<some_guid>" />
<add key="ida:Audience" value="https://localhost:34567/" />
<add key="ida:AADInstance" value="https://login.windows.net/{0}" />
<add key="ida:Tenant" value="microsoft.onmicrosoft.com" />
<add key="ida:PostLogoutRedirectUri" value="https://localhost:34567/" />
Tôi đã cố gắng thiết lập RequireNonce false theo chỉ dẫn trong thông báo lỗi như sau:
ProtocolValidator = new OpenIdConnectProtocolValidator
{
RequireNonce = false
}
Nhưng điều này chỉ dẫn đến sự không hợp lệ Yêu cầu lỗi.
Ai đó có thể giúp tôi hiểu vấn đề ở đây không? Mọi thứ hoạt động tốt cho đến khi SSL được bật.
Hãy suy nghĩ tôi đã tìm ra điều này. Ứng dụng. thông tin chi tiết trong Azure AD được hardwired phụ thuộc vào điểm cuối HTTP gốc. Sẽ cập nhật điều này một khi tôi đã xác nhận lý thuyết của tôi. –
Tôi cũng đang nhận được điều này ... –
Xin vui lòng, bạn đã quản lý để sửa lỗi này? Tôi đang ở trong tình trạng tương tự. – Mastenka