2013-08-08 3 views
3

기본 인증을 얻으려면 Javascript 클라이언트를 사용하고 있습니다. 예를 들어 난 내가 자바 스크립트와 AJAX를 사용하여 동일한 명령을 실행할 수있는 방법 Github의 인증

Github에서

에서 토큰을 얻기 위해 다음 명령

curl -i -u uaername:password -k -d "{\"scopes\": [\"repo\"]}" https://api.github.com/authorizations 

을 사용하고 때? 클라이언트 측에서 토큰 순전히 OAuth를 얻을 수있는 방법이 있는지

$.getJSON("https://api.github.com/orgs/github/repos?callback=?", 
      function(json) 
      { 

      }) 

답변

4

를 묻는 : 나는 성공적으로 답변을 검색 한 다음 명령을 사용하여 ? 그렇다면 대답은 '아니오'입니다.

하지만 몇 가지 해결 방법이 있습니다.

Github.js :

https://github.com/prose/gatekeeper

또한 간단한 로그인과과에 중포 기지 같은 것을 사용할 수 있습니다 https://github.com/michael/github

게이트 키퍼 OAuth를 도울 수있는 오픈 소스 서버 측 구성 요소입니다 관리가 토큰 이 경우 서버 측 서비스를 관리 할 필요가 없습니다.

https://www.firebase.com/docs/security/simple-login-github.html

+1

그는 브라우저에서 확실히 할 수있는 기본 인증에 대해 구체적으로 질문했습니다. Octokit JS 라이브러리가 있습니다. –

+0

예, 이것이 기본 인증에 대해 묻는 것이 맞지만 기본 인증을 사용하여 oAuth 토큰을 검색 할 수 없다고 생각합니다. 콜백을 실제 서버 (웹 브라우저뿐만 아니라)에 매핑해야한다는 것은 순수 클라이언트 측 JS가 작동하지 않는다는 것을 의미합니다. – xrd

+0

아니요. 요청 헤더에 사용자 이름과 비밀번호를 포함하기 만하면됩니다. 당신은 절대 필요 없습니다. –

4

헤더에 기본 인증 세부 정보를 포함해야합니다. 다음 스 니펫에는 누락 된 비트가 있습니다. 공란을 채우십시오.

var auth = btoa(username + ":" + password) 

    jQuery.ajax({ 
     headers: { Authorization: "Basic " + auth } 
     ... 
    }) 
+1

개인 액세스 토큰을 사용하는 경우 유용한 스 니펫, 감사합니다. –