oauth 예제 속시원내과 | 2019년 8월 3일

OAuth 1.0에 대한 개발자의 혼란과 성가심의 대부분은 클라이언트 ID 및 비밀로 요청에 서명하는 암호화 요구 사항 때문이었습니다. cURL 예제를 쉽게 복사하고 붙여넣기 할 수있는 기능을 잃으면 빨리 시작하기가 훨씬 더 어려워졌습니다. 응용 프로그램은 자격 증명, 클라이언트 ID 및 클라이언트 비밀을 권한 부여 서버로 전송하여 액세스 토큰을 요청합니다. POST 요청의 예는 다음과 같습니다. 또는 수: 내가 찾은 최고의 페이지는 Google의 OpenID 연결 페이지. 그것은 더 나은 예와 최종 JWT 페이로드에 대한 자세한 내용은 좋았을 것이지만, 거기에 방법의 약 90 %를 갔다. 나는 또한 JWT IO 홈 페이지와 멋진 웹 도구를 사용했다. 자세한 내용은 나중에. http://256stuff.com/gray/docs/oauth2.0/comeBack.cgi?state=이-일부 생성 비밀 토큰 & 코드=4/Ei4ujaDc5rNNV2U8Ie8MJVFm-zIQs3ysoQ & authuser=0 & 프롬프트=동의 & session_state=1c0e1b49853dba76fe6098d4feb14feb14. 2062# 사용자가 사이트에 자격 증명(사용자 이름 및 암호)을 삽입할 수 있을 만큼 충분히 신뢰할 수 있습니까? 예: 사용자가 사이트에 Facebook 비밀번호를 삽입할 수 있습니까? 흐름은 대부분의 공급자에서 동일하게 유지되지만 Github는 redirect_uri 매개 변수가 선택 사항이라는 점에서 특별합니다. 즉, redirect_uri를 OAuth2Session 개체에 명시적으로 전달해야 할 수 있습니다(예: 플라스크-oauthlib를 사용하여 사용자 지정 OAuthProvider를 만들 때). N.B: Oauth2는 SSL 레이어를 통해 작동합니다.

서버가 HTTPS를 허용하도록 파라메터화되지 않은 경우 fetch_token 메서드는 oauthlib.oauth2.rfc6749.errors.InsecureTransportError를 발생시게 됩니다. 대부분의 사람들은 테스트하는 동안 서버에 SSL을 설정하지 않으며 괜찮습니다. 두 가지 방법으로이 검사를 비활성화할 수 있습니다: 참고: DigitalOcean 현재 암호 자격 증명 부여 형식을 지원 하지 않습니다., 그래서 링크 가리키는 가상 권한 부여 서버 “oauth.example.com”. 그런 다음 Google은 웹 및 서버 코드에서 기록하고 사용해야 하는 클라이언트 ID와 비밀을 제공합니다. 이 예에서 Google은 OAuth 2에서 액세스 토큰에 대한 사용자 이름과 암호를 직접 교환하는 데 사용할 수 있는 “암호” 권한 부여 유형을 제공합니다. 이것은 분명히 응용 프로그램이 사용자의 암호를 수집해야하므로 서비스 자체에서 만든 앱에서만 사용해야 합니다. 예를 들어 네이티브 Twitter 앱은 이 권한 부여 유형을 사용하여 모바일 또는 데스크톱 앱에서 로그인할 수 있습니다. 이 예제에서 Joe는 사용자이고 Bitly는 소비자이며 트위터는 Joe의 보안 리소스(자신의 트위터 스트림)를 제어하는 서비스입니다. Joe는 Bitly가 자신의 스트림에 단축된 링크를 게시할 수 있기를 원합니다. 작동 방식은 다음과 같습니다: 거부된 경우 404 또는 기타 상태 코드가 반환됩니다.

예를 들어 동일한 코드에 대해 2개의 요청을 할 때 이 일이 발생합니다. 확인된 경우 이 API 호출에 대한 응답은 코드 매개 변수의 유효성을 검사하거나 거부하는 JSON 형식의 정보 블록이어야 합니다. OAuth 기반 ID API의 가장 큰 문제 중 하나는 완전히 표준을 준수하는 OAuth 메커니즘을 사용하는 경우에도 다른 공급자가 필연적으로 실제 ID API의 세부 정보를 다르게 구현한다는 것입니다.

Comments are closed.