.net core 2.0 웹 API에서 openiddict를 설정하고 코드 및 비밀번호 흐름을 작동 시켰습니다. 요청자가 401 상태 코드를 찾는 권한을 부여받지 않은 경우 API의 잠긴 조치가 거부되도록하는 테스트 사례가 있습니다.무단 웹 API 호출 (코어 2.0)에 대해 401 대신 404를 반환하는 Openiddict
이 테스트를 실행하면 401 대신에 404가 없으므로 테스트가 실패합니다. 익명을 허용 할 때 200을 반환하기 때문에 경로가 정확하다는 것을 알고 있습니다. 인증없이 잠긴 작업에 액세스하려고하면 404가 표시됩니다. 인증되지 않은 채 리소스에 액세스하려고 할 때 openiddict의 기본 상태입니까? 이 문제는 브라우저, 우편 배달부 또는 테스트 사례에서 실행되었는지 여부에 관계없이 발생합니다. 401을 반환하도록 구성하는 방법은 무엇입니까? 아래에 구성을 제공했습니다.
services.AddOpenIddict<int>(options =>
{
options.AddEntityFrameworkCoreStores<ApplicationContext>();
options.AddMvcBinders();
options.EnableAuthorizationEndpoint("/connect/authorize");
options.EnableTokenEndpoint("/connect/token");
options.AllowAuthorizationCodeFlow();
options.AllowPasswordFlow();
options.AllowRefreshTokenFlow();
options.RequireClientIdentification();
options.SetAccessTokenLifetime(TimeSpan.FromMinutes(1));
options.SetRefreshTokenLifetime(TimeSpan.FromMinutes(20160));
options.DisableHttpsRequirement();
});
services.AddAuthentication()
.AddFacebook(o => { o.ClientId = settings.FacebookAppID; o.ClientSecret = settings.FacebookAppSecret; })
.AddOAuthValidation();
ASP.NET 코어 아이덴티티 옵션에 설정된 "액세스가 거부되었습니다"페이지에'리다이렉트를 시도한 곳을 알면 좋을까요? '->. 표시되는 동작은 Identity에서 사용하는 쿠키 처리기 (기본 구성표로 구성된 쿠키 처리기)와 403 응답을 반환하는 대신 리디렉션하는 것으로 인해 발생합니다. 액세스 거부 페이지가 앱에 존재하지 않으므로 궁극적으로 404 응답을받습니다. – Pinpoint
(이전에 언급 한 내용이 분명하지 않은 경우를 대비하여 OpenIddict 자체와는 아무런 관련이 없습니다.) – Pinpoint
그건 완전히 이해가됩니다. 정말 따라와 주셔서 감사합니다. 나는 openiddict에 초보자이기 때문에 메커니즘이나 무언가가 내장되어 있는지 알지 못했습니다. 그건 그렇고 ...이 포럼을 모니터링 해 주셔서 감사합니다 ... 나에게 여러 번 도움을 주셨습니다 ... 환호! – Geekn