2012-12-19 2 views
7

MVC 4에서 간단한 웹 응용 프로그램을 작성 중이며 OAuth with Trello을 사용하여 사용자에게 trello 세부 정보로 로그인 한 다음 일부 카드를 볼 수 있도록하고 싶습니다. .MVC 4의 사용자 정의 oauth 공급자가있는 OAuth

누구나 oauth 제공 업체가 아닌 사용자를 지원할 수있는 사용자 지정 oauth 공급자를 만드는 방법에 대한 정보를 누구든지 제공 할 수 있습니까? 내가 볼 수있는 것, 사용자 지정 Oauth 공급자 (하위 클래스 IAuthenticationClient 및 사용)를 만들어야합니다. 맞습니까?

+0

사용자 지정 공급자를 추가하기위한 솔루션을 찾았습니까? – Billdr

답변

11

좋아요, 오랫동안 제 oAuth 클래스를 작성한 이후로 11 시간을 보냈습니다. 내일 영업 사원 중 한 명을 만날 수 있습니다. 나는 흥분하지 않는다.

는 여기에 내가했던 일이야 :

  1. 이 예상 JSON/XML의를 DataContract 클래스를 만듭니다. 나는 앞으로 나아가서 SO가 반환하는 모든 것을 구현했지만 권한 부여 만하는 경우 ID와 DisplayName으로 줄일 수 있습니다.

  2. DotNetOpenAuth.AspNet.Clients에서 OAuth2Client를 확장하는 클래스를 만듭니다. 예를 들어 DotNetOpenAuth GitHub page을 사용하십시오. 이것은 가장 길고 가장 고통스러운 단계입니다. 특히 json 직렬화가 녹슬면 더욱 그렇습니다.

  3. /App_Start/AuthConfig.cs을 열고 OAuthWebSecurity.RegisterClient(new YourClass(Your, Initalization, Params), "The Name You Want to Show Up On Your oAuth Login Button", ExtraDataIfYouNeedIt;을 어딘가에 RegisterAuth() 섹션에 입력하십시오. 나는 ExtraData param이 무엇인지를 확증하지 못했지만, 필자는 그것을 필요로하지 않았다. 다행히도 네가 필요 없길 바래.

편집 : 업데이트 된 github 링크.

+1

'ExtraData'는 단지'IDictionary' 객체입니다; 당신이 원하는대로 그것을 사용할 수 있습니다. 사용 가능한 공급자를 나열 할 때 부분보기에서 액세스하려는 일부 CSS 클래스를 바인딩하는 데 사용했습니다. 잘 했어. –

+1

훌륭해, 고마워. 나는 다른 문제로 옮겨 갔기 때문에 이것을 할 수있는 기회가 없었지만, 언젠가는 언젠가 그것을 보려고합니다. 그래서 당신이 한 일을보고 다시 생각해 볼 것입니다! –

+2

오래된 스레드이지만 DotNetOpenAuth 페이지가 https://github.com/DotNetOpenAuth/DotNetOpenAuth로 옮겨졌습니다. – Joe