2014-04-23 5 views
0

나는 meetup.com oauth2 API를 사용하여 로그인 할 asp.net mvc 프로젝트에서 작업 중입니다. 불행히도, 내 webapp가 성공적으로 meetup 로그인 페이지로 리디렉션되는 문제가 있는데 "허용"을 누를 수 있지만 AuthenticationHandler가 null로 "상태"필드의 속성을 감지하고 아무 것도 표시되지 않기 때문에 중지됩니다 그 페이지. 나는 Passive AuthenticationMode와 afaik meetup.com API를 사용하고 있습니다. "state"필드를 사용하지 않습니다. 그래서 AuthenticationHandler가 null을 반환하는 것을 방지하고 중간에 멈추는 것을 막을 수 없습니다. "상태"로 시작합니다.asp.net mvc 5 및 oauth2 로그인

protected override async Task<AuthenticationTicket> AuthenticateCoreAsync() 
    { 
     AuthenticationProperties properties = null; 

     try 
     { 
      string code = null; 
      string state = null; 

      IReadableStringCollection query = Request.Query; 
      IList<string> values = query.GetValues("code"); 
      if (values != null && values.Count == 1) 
      { 
       code = values[0]; 
      } 
      values = query.GetValues("state"); 
      if (values != null && values.Count == 1) 
      { 
       state = values[0]; 
      } 

      properties = Options.StateDataFormat.Unprotect(state); 
      if (properties == null) 
      { 
       return null; // the error here 
      } 
+0

왜 당신은 그냥 수정/당신의 공급자가 일치하지 않기 때문에이 동작을 재정의하지 않는 작동하는 기존의 오픈 소스 라이브러리를 발견 : 여기에 관련 코드입니다 거기에있는 워크 플로우는 무엇입니까? –

+0

이렇게하면 코드가 null을 반환합니다. 코드가 상태 필드를 필요로하지 않도록 만드는 방법을 알고 싶습니다. 클래스 전체가 다음과 같습니다 : http://pastebin.com/Bk7rV4vG – user3431328

+0

예,이 상태 필드에 의존하는 모든 행동을 재정의해야합니다. 기본 제공 인증 논리에 의존하는 공급자를 사용하려고하므로 기본적으로 사용자 지정 작업이 필요합니다. –

답변