2014-01-13 1 views
2

트위터와 같은 소셜 미디어 자동화를 선택한 사용자는 트위터 버튼을 클릭하고 oauth 절차가 완료되는 웹 응용 프로그램이 있습니다. 그 oauth 과정은 PHP를 사용하여 수행됩니다.LinqToTwitter 다중 사용자 인증 자

해당 사용자의 oauth 토큰과 oauth 암호를 데이터베이스에 저장합니다. 나는 모든 권한을 부여하는 기술을 아래와 같이 신청 한

ConsumerKey // common for all as it is the key of app in dev.twitter.com 
ConsumerSecret // common for all as it is the secret of app in dev.twitter.com 
OauthToken //store in database, which keeps on changing as other user activates the socia media 
OauthTokenSecret //store in database, which keeps on changing 

:

는 지금은 네 개의 키가

내가 사이트에 기재되어 있습니다 토큰 비밀을 입력 할 경우,
var auth = new MvcAuthorizer 
      { 
       Credentials = new InMemoryCredentials 
       { 
        ConsumerKey = "###################", 
        ConsumerSecret = "##################", 
        OAuthToken = token, 
        AccessToken = secret 
       } 
      }; 
      auth.Authorize(); 


var auth = new SingleUserAuthorizer 
      { 
       Credentials = new InMemoryCredentials 
       { 
        ConsumerKey = "###############", 
        ConsumerSecret = "#############################", 
        OAuthToken = token, 
        AccessToken = secret 
       } 
      }; 
      auth.Authorize(); 

문제는 dev.twitter.com 모든 것이 잘 작동하지만 데이터베이스에 저장된 토큰과 비밀 정보를 제공하면 사용자를 인증하지 않습니다.

답변

1

SingleUserAuthorizer에서 인증을 요청하지 마십시오. 또한 모든 승인자에게 4 가지 자격 증명을 모두 제공 할 때마다 자동 초기화를 호출 할 필요가 없습니다. LINQ to Twitter는 해당 자격 증명을 사용하여 인증 헤더를 작성합니다.

authorize를 호출하는 경우는 ConsumerKey 및 ConsumerSecret 만 제공하고 권한 부여 유형은 SingleUserAuthorizer가 아닌 경우입니다. Authorize는 OAuthToken 및 AccessToken을 가져 오는 OAuth 프로토콜 부분을 구현합니다.

SingleUserAuthorizer에 대한 귀하의 구문은 작동하지만 여기에 키를 일치하는 또 다른 방법입니다 방법을 트위터 앱 페이지 이름 그들 : 나는 다른 accesstoken 비밀 매번를 사용하는 경우 어떤

 var auth = new SingleUserAuthorizer 
     { 
      Credentials = new SingleUserInMemoryCredentials 
      { 
       ConsumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"], 
       ConsumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"], 
       TwitterAccessToken = ConfigurationManager.AppSettings["twitterAccessToken"], 
       TwitterAccessTokenSecret = ConfigurationManager.AppSettings["twitterAccessTokenSecret"] 
      } 
     }; 
+0

. 그것이 인증 될 것인가? –

+0

입니다. 왜냐하면 토큰과 비밀은 다른 사용자마다 다릅니다. 그리고 내가이 토큰과 비밀을 제공하면 나에게 403 에러를 준다. 내 앱에 대해 사이트 dev.twitter.com에있는 토큰과 비밀을 제공하면 괜찮다. 그러나 오직 하나의 사용자 자격 증명으로 만 이루어진다. –

+0

사용자들에게는 또한 PinAuthorizer를 사용하고 4 개의 토큰을 모두 제공하십시오. –