2010-11-28 5 views
3

내 앱이 내 사용자의 Google 캘린더에서 정보를 가져옵니다. 사용자는 이미 내 앱에 로그인해야하므로 세션 당 적어도 한 번 (현재 OAuth를 사용하여) Google 계정에 "액세스 권한 부여"를해야한다는 것을 알게됩니다.사용자의 Google 계정에 영구 액세스하는 방법은 무엇입니까?

영구 (또는 가까운) 보조금을받을 수있는 방법이 있습니까?

기본 인증으로 openID를 사용할 수 있습니다. 그게 도움이 되겠습니까?

나는 GData API가 사용자의 로그인 정보를 저장하도록 요구하는 ClientLogin 프로토콜을 제공한다고 믿는다. 그리고 그것에 익숙하지 않은 경우 대체 방법보다 낫다고 생각한다.

답변

3

oAuth 토큰은 사용자/응용 프로그램 자체에서 해지하지 않으면 만료되지 않습니다. 사용자가 앱에 처음 등록 할 때 액세스 토큰을 가져 와서 비밀 토큰에 액세스하십시오. 로컬에 저장하고 필요할 때마다 GDATA API에 쿼리하십시오.

사용자가 다시 로그인 할 때마다 액세스 토큰을 요청할 필요는 없습니다.

2

OAuth를 사용하고 있으므로 응용 프로그램이 웹 응용 프로그램이라는 것을 알고 있습니까? 글쎄, OAuth가 당신이 묘사하고있는 문제를 가지고있는 이유입니다. 정확히 문제는 아니지만 API의 기능입니다. OAuth 연결은 디지털 서명되므로 사용자가 로그인을 시도 할 때마다 OAuthAuthorizeToken 페이지로 리디렉션됩니다.

문제를 해결하려면 OAuth 대신 AuthSub를 사용하십시오. 덜 안전하지만 편리합니다. 또한 사용자가 Goodle에 의해 확인되었다는 토큰을 응용 프로그램에 간단히 전송할 수 있으므로 사용자에 대한 정보를 이런 식으로 저장하지 않아도됩니다.

희망이 도움이됩니다.

1

이있는 Oauth/OpenID hybrid solution (source 참조) - 기본적으로 당신은 당신이 인증 토큰을 교환하고 향후 사용을 위해 저장, 반환에 기본 사용자 데이터 요청 토큰을 얻을, 특정 범위 액세스를 요청합니다.

관련 문제