2010-04-29 3 views
17

왜 OAuth는 액세스 토큰과 액세스 토큰 비밀을 각각 별도의 값으로 포함합니까? 소비자 또는 OAuth로서 내가 본 모든 권고 사항은 토큰과 비밀을 함께 저장해야하며 본질적으로 하나의 가치로 취급해야 함을 나타냅니다.OAuth가 왜 액세스 토큰과 액세스 토큰 비밀을 모두 제공합니까? 왜 단일 가치가 아닌가?

왜 사양에 처음 두 값이 필요합니까?

+0

나는 내 자신의 질문에 대답했을 수도 있지만 그 이유는 OAuth 공급자에 대한 색인 생성 때문이라고 생각됩니다. 공급자는 액세스 토큰별로 레코드를 효율적으로 조회 한 다음 인덱스 토큰이 아닌 길게 조합을 조회하지 않고 액세스 토큰의 비밀을 확인할 수 있습니다. –

답변

21

실제로 액세스 토큰의 암호는 절대로 공급자에게 전송되지 않습니다. 대신 요청은 액세스 토큰을 전송 한 다음이 암호를 사용하여 요청에 서명합니다. 그렇기 때문에 식별 할 사람과 식별 할 사람이 모두 필요합니다.

+0

그렇다면 트위터가 왜 우리에게 비밀을 전송하게되는 것입니까? https://dev.twitter.com/docs/auth/application-only-auth –

+1

@JoshuaFrank 이유를 잘 모르겠습니다. 아마도 트위터에서 직접하고 싶을 것입니다. 그러나 어느 쪽이든 주목해야 할 중요한 사항 중 하나는 보안을 유지하려면 해당 메소드 **에 SSL이 필요하다는 것입니다. – yydl

+0

SSL에 대한 좋은 지적이지만, 왜 우리는 왜 열쇠와 비밀이 필요한지 이해하지 못하고 있습니다. –

0

2 개의 비밀이 있습니다. 하나는 토큰 비밀이고 다른 하나는 소비자 비밀입니다. 비밀은 요청에 서명 (oauth 서명 생성)하는데 사용되지만 요청 헤더에서 전송되지 않습니다. 여기서 토큰은 헤더를 통해 클라이언트를 식별하고 액세스 권한이 있는지 확인합니다.

관련 문제