2009-12-09 3 views
0

OAuth 제공 업체가 제공 한 요청 토큰을 사용하고 영원히 사용할 수 있습니까? Delicious api와 상호 작용하고 2 주마다 업데이트 된 북마크를 찾는 서비스를 만들려고합니다. 사용자에게 몇 번이고 인증을 요청하는 대신 동일한 요청 토큰을 사용할 수 있는지 궁금합니다. 내가 그럴 수 없다면, 나는 그 대답이 될 것이라고 생각한다. 그러한 행동을위한 가장 좋은 방법은 무엇일까?OAuth 액세스 토큰을 사용하여 계정에 대한 영구적 인 액세스를 보장 할 수 있습니까?

내 마지막 옵션은 사용자가 자신의 맛있는 사용자 이름과 암호를 포기하고 내 작업을 매우 쉽게 할 수 있다고 생각하는 것입니다.

답변

0

이것은 구현에 따라 다릅니다. 사용자는 Delicious 문서에서 토큰에 대해 말하는 내용을 확인해야합니다. 사용 기간이 만료되거나 사용이 제한되거나 부작용이있을 수 있습니다.

대부분의 OAuth 구현은 추적해야하는 유효한 토큰의 수를 줄이기 위해 어느 시점에서 토큰을 만료 할 것입니다.

일반적으로 사용자 에이전트 도움말은 SSO 인증 시스템에서이 문제를 줄여야합니다. 사용자가 유효한 토큰없이 나타나면 브라우저가 브라우저의 저장된 자격 증명을 보는 인증 자로 리디렉션됩니다 일반적으로 쿠키)를 삭제하고 사용자 상호 작용없이 새로운 토큰으로 다시 리디렉션합니다. 이것은 OAuth가 OpenID보다 복잡 할 수 있습니다. OpenAID가 인증 이상인 경우 새 토큰을 발행하는 것이 적절하지 않을 수 있기 때문입니다. 인증/권한 부여 프로세스는 구현에 따라 다르므로 토큰이 유효하다는 것을 알지 못하면 새 자격 증명을 입력 할 수 있어야합니다.

+0

사실, OAuth 토큰이 특정 시간 후에 만료되어야한다는 논리에 동의합니다. 그러나 OAuth는 제 3 자의 데이터에 액세스하는 보안 메커니즘으로 생각되었으므로 OAuth를보다 합리적인 것으로 만들기위한 몇 가지 수정 사항이 있어야합니다. 제 3 자 통합/집계/부가가치 서비스가 많이 있다는 점을 감안할 때, 개인 계정에 대한 영구적 인 처리를위한 메커니즘이 있어야합니다 (물론 이것은 특정 도메인에서 유효성을 검사 할 수 있습니다 - 응용 프로그램 ID - 서버에 파일 게시). –

+0

... 그런 식으로 사용자는 자신의 데이터를 사용하는 사람을 항상 제어 할 수 있으며 개인 수준이나 도메인 수준에서 차단할 수 있습니다. OAuth 토큰이 만료 될 때마다 사용자에게 자격 증명을 입력하도록 요청하는 것은 사용자 경험 측면에서 정말 고통 스럽습니다. –

+0

요점은 이것이 OAuth의 범위 밖에 있다는 점입니다. 이를 원하면 OAuth 시스템을 제공해야합니다. OAuth는 영구적 인 토큰이 발행되는 것을 막지 않으며 단지 토큰을 요구하지 않습니다. OAuth 및 OpenID는 사용자 에이전트가 관련 될 때 원하는대로 정확하게 사용할 수 있습니다. 예를 들어 처음 로그인 한 후 토큰이 만료 되었더라도 StackOverflow에 대한 자격 증명을 한 번 입력하면됩니다. –

0

트위터 oAuth는 귀하의 질문에 직접 답변하지 않으므로 영구 요청 토큰을 가질 수 있습니다.

관련 문제