A Consumer Request Token B Service Provider Request
흐름도 A; Consumer가 Request Token 요청 B; Service Provider가 Request Token 발급 C; Consumer는 사용자를 Service Provider로 이동, 사용자를 인증하고 토큰 발급을 확인함 D; Service Provider는 사용자를 Consumer로 이동 E; Consumer는 Access Token 요청 F; Service Provider는 Consumer의 신원과 Request Token 확인, Access Token 발급 G; Consumer는 Access Token으로 사용자 정보에 접근
다음 OAuth ------------------index. jsp-----------------OAuth. Consumer consumer = new Default. OAuth. Consumer(Oauth. Util. _CONSUMER_KEY, Oauth. Util. _CONSUMER_SECRET); . OAuth. Provider provider = new Default. OAuth. Provider (Oauth. Util. _REQUEST_TOKEN_URL, Oauth. Util. _ACCESS_TOKEN_URL, Oauth. Util. _AUTHORIZE_URL); //consumer 객체와 consumer 등록시 등록했던 callback URL을 입력 String oauth. URL = provider. retrieve. Request. Token (consumer, "http: //localhost/Oauth. Tutorial/callback. jsp"); //생성된 consumer객체와 provider객체를 세션에 저장한다. session. set. Attribute("consumer", consumer); session. set. Attribute("provider", provider); //Daum login 창으로 Redirect response. send. Redirect (oauth. URL);
다음 OAuth //parameter로 전달된 oauth_verifier를 저장 String oauth. Verifier = request. get. Parameter("oauth_verifier"); . OAuth. Consumer consumer = (Default. OAuth. Consumer)session. get. Attribute("consumer"); OAuth. Provider provider = (Default. OAuth. Provider)session. get. Attribute("provider"); if(oauth. Verifier != null) { //파라미터로 전달된 oauth_verifier를 통해서 access Token을 생성합니다. provider. retrieve. Access. Token(consumer, oauth. Verifier. trim()); //get. Token() method로 생성된 access. Token을 가져오고, //get. Token. Secret() method로 access. Token. Secret을 가져와 session에 저장 session. set. Attribute("access. Token", consumer. get. Token()); session. set. Attribute("access. Token. Secret", consumer. get. Token. Secret()); }
- Slides: 10