OAuth 1.0a 공급자 역할을하는 웹 서비스가 있습니다. 웹 애플리케이션은 OAuth 1 워크 플로우를 통해 사용자 자원에 액세스합니다. 여태까지는 그런대로 잘됐다.OAuth2 다른 클라이언트 인증 방법
클라이언트 웹 응용 프로그램은 특정 사용자/자원 소유자와 링크되지 않은 개인 데이터를 교환하기 위해 다른 필요를 위해 서비스와 통신해야합니다. 이를 위해 OAuth2를 사용하는 것이 좋습니다. 특히 Client Credentials Grant (4.4) (정확히 이것을 위해 설계된)입니다. "기밀 클라이언트"(OAuth 사양에 따라 웹 응용 프로그램이이 범주에 속함)에서 직접 클라이언트를 인증하고 액세스 토큰을 얻을 수 있습니다.
EDIT : 당연히 내가 말하는 HTML/javascript이지만 공급자/웹 서비스와의 통신은 서버 측에서만 발생합니다. 자격 증명 (클라이언트 비밀 키, 키 등)은 모두 서버에 저장되며 서버를 떠나지 않습니다.
사양에 따르면 인증은 "username + password"(HTTP 기본 인증 방식의 클라이언트 비밀번호) 또는 "다른 인증 방법"을 사용하여 발생할 수 있습니다.
나는이 "다른 인증 방법"이 무엇 일지에 대한 단서를 찾을 수 없었습니다. OAuth1에 대해 개인/공개 키 쌍을 사용하므로이 작업에도 사용할 수 있습니까? 사양은 매우 자유롭고 (매우 모호합니다!)이 시점에서.
제 3 자 클라이언트가 표준 라이브러리 (예 : DotNetOpenAuth)를 사용하여 쉽게 구현할 수 있도록 다양한 라이브러리에서 지원하는 것을 사용하고 싶습니다. 필요한 경우 기존 라이브러리 (플러그인)를 수용 할 수있는 한 사용자 지정 메서드에 대해 코딩을 수행해야한다고 가정하는 것이 합리적입니다.
HTTP 기본 이외에는 "표준" OAuth 2 인증을 받으시겠습니까?
물론 리소스 공급자와 인증을 수행하는 부분은 서버 측이지만 향후 독자를 위해 지적 해 주셔서 감사합니다. –
현재 양쪽 끝을 소유하고 있지만 서비스는 타사 고객에게 공개됩니다. 나는 누군가가 다른 방법을 지원하는 OAuth2 제공자를 찾았는지 알고 싶었습니다. (필자는 아무 것도 발견하지 못했지만, 지식은 제한되어있었습니다 :)) 직접 시도하기 전에. 휠을 재발 명하기는 쉽지 않습니다. 특히 잠재적으로 비표준적인 것을 구현할 때 더욱 그렇습니다. –
OAuth2 토큰 서비스의 구현 자로서 다양한 부여 유형에 대한 사양 요구 사항을 잘 알고 있지만 Basic 인증 이외의 클라이언트 자격 증명 부여를 지원한다고 알리는 OAuth2 클라이언트 라이브러리가 없습니다. 그런 일이 있을지 모르지만, 나는 그것을 보지 못했습니다. – dthorpe