2017-04-25 1 views
0

나는 작은 도트 그물 코어 mvc 및 api 응용 프로그램을 보호하려고 노력하고 있으며 주위를 돌았으며 약간의 방향이 필요합니다.Dotnet 핵심 보안 oauth 및 베어러

로그인/암호의 출처로 ADFS 3.0 Server2012 R2를 사용해야합니다.

API에서 버전 관리를 사용해야합니다. (Microsft.aspnetcore.mvc.versioning)

API에 로그인/암호를 보내지 않고 베어러 토큰 만 보내고 싶습니다.

ADFS 끝점에 대해 cookieauthentication 및 OAuth를 구성했는데 mvc UI에 문제가 없지만 mvc UI 컨트롤러에서 API로 httpclient를 사용하는 API를 얻는 방법/방법을 알지 못합니다.

오래 전에 IdentityServer 1 또는 2를 사용하고 베어러 토큰을 사용했지만 OAuth 이벤트의 OnCreatingTicket에 토큰을 만들고이를 저장할 위치를 모르는 방법을 알아낼 수 없었습니다. 클레임을 시도했지만 작동하지 않아 조작이 잘못되거나 잘못되었을 수 있습니다.

사이트가 작아서 사용자 저장소가 필요 없기 때문에 IdentityServer와 같은 것을 사용하여 문제가 발생하더라도 모든 것이 LDAP/ADFS에 있습니다.

세 가지 미들웨어 피스를 등록하고 oauth 인증에서 토큰을 작성하고 어딘가에 클레임처럼 저장하고 httpclient를 통해 전달할 수 있습니까? 내가 시도 토큰을 구축 adfsOption 내부

app.UseCookieAuthentication(option); 
app.UseJwtBearerAuthentication(bearer); //api 
app.UseOAuthAuthentication(adfsOption); //mvc ui 

...

모두는 매우 정직하고 내 질문에 대한 대답은 '예

답변

0

, "보안 오류가 발생했습니다"
메시지를 가져옵니다. 나는 나중에 요지를 게시 할 것이다. 높은 날 내게 내 주요 문제는 httpclient ssl에 대한 내 dev에 인증서를 좋아하지 않았어했다.

클레임에 토큰을 넣어도 괜찮은지 아직 확실하지 않습니다. 쿠키와 oauth는 매 15 분마다 그것을 무효화하고 새로 고치지 만 새로 고침 토큰을 무작위로 얻는 것은 매우 어려울 것입니다.

이 아주 나쁜 코드를 추가하면 내 토큰을 확인할 수있게되어 예상대로 작동했습니다.

handler.ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => { return true; }; 
관련 문제