2013-10-21 5 views
13

이전에 DotNetOpenAuth을 사용하여 ASP.NET MVC 5의 새로운 인증 기능을 사용했습니다.ASP.NET MVC 5의 "일반"OpenID

내장 된 Google 제공 업체가 OpenID [1] (잘 작동 함)를 사용하지만 인증 할 때 내 자신의 OpenID 제공 업체를 사용하고 싶습니다.

불행히도 ASP.NET MVC 5의 기본 기능을 사용하여 쉽게이를 수행 할 수있는 방법을 찾을 수 없었습니다. Microsoft.Owin.Security.Google의 소스를 살펴본 결과 상당히 쉽게 보입니다. 새 OpenID 공급자를 추가하십시오.

ASP.NET MVC 5 응용 프로그램에 새 OpenID 공급자를 추가하는 더 쉬운 방법이 있습니까? 또는 처음부터 새로 작성해야합니까 (새로운 Owin 미들웨어)?

[1] http://www.asp.net/mvc/tutorials/mvc-5/create-an-aspnet-mvc-5-app-with-facebook-and-google-oauth2-and-openid-sign-on
[2] http://www.symbolsource.org/MyGet/Metadata/aspnetwebstacknightly/Project/Microsoft.Owin.Security.Google/2.0.1-rtw1-20924-641-dev/Release/.NETFramework,Version=v4.5/Microsoft.Owin.Security.Google

답변

5

내가 같은 상황에서 그리고 난 대답은 생각 "아니오."

키 클래스는 OWIN 백 엔드 처리기를 구현하는 Microsoft.Owin.Security.Google.GoogleAuthenticationHandler입니다. ApplyResponseChallengeAsync에서 Attribute eXchange 요청을 하드 코딩하고 AuthenticateCoreAsync에서 https://www.google.com/accounts/o8/ud으로 호출을 하드 코딩합니다. 더 좋은 방법 (예 : OpenID 기본 클래스)이 있다면, 나는이 두 가지 지점을 하드 코딩하는 대신 확실히 사용했을 것이라고 가정합니다. 나는 마이크로 소프트가 스케줄상의 이유로 또는 수요의 부재로 인식하지 못했다고 가정하고있다.

오픈 소스 일반 OpenID OWIN 미들웨어는 훌륭한 NuGet 패키지라고 생각합니다.

+0

감사합니다. 나는 게으르며 앞으로 몇 주 동안 DotNetOpenAuth를 사용합니다. 어쩌면 누군가 OpenId 미들웨어를 만들었을 것입니다.) –

+0

Google 코드를 https://www.google. co.kr/accounts/o8/ud에서 https://open.login.yahooapis.com/openid/op/auth로 이동하십시오. DotNetOpenAuth가 해당 계정에 부여한 식별자가 같으므로 코드가 일반화 된 것처럼 보입니다. DNOO처럼 공급자가 제공하는 것에 따라 애트리뷰트 익스체인지 프로세스를 일반화하는 것은 어려운 일이라고 생각합니다. –

관련 문제