2010-11-28 8 views
3

私のアプリはユーザーのGoogleカレンダーから情報を引き出します。 ユーザーは既に自分のアプリにログインしているので、セッションごとに少なくとも1回は(現在はOAuthを使用して)自分のGoogleアカウントに「アクセスを許可する」必要があります。ユーザーのGoogleアカウントに永続的にアクセスするにはどうすればよいですか?

永久(またはそれに近い)補助金を取得する方法はありますか?

私はopenIDを主認証として使用することさえできます。助けてくれますか?

私はGData APIがClientLoginプロトコルを提供しているため、ユーザーのログイン情報を保存する必要があり、それに慣れていないと考えています。

答えて

3

o一度生成されたトークンは、ユーザー/アプリケーションがそれを取り消さない限り、一度も期限切れになりません。ユーザーがあなたのアプリに初めて登録するときは、アクセストークンを取得してシークレットトークンにアクセスしてください。それをローカルに保管し、必要に応じていつでもGDATA APIを照会することができます。

ユーザーが再度ログインするときにアクセストークンを要求する必要はありません。

2

OAuthを使用しているので、あなたのアプリケーションはWebアプリケーションであると思いますか?さて、OAuthはあなたが記述している問題を抱えている理由です。これはまさに問題ではなく、APIの機能です。 OAuth接続はデジタル署名されているため、ユーザーがログインしようとするたびにOAuthAuthorizeTokenページにリダイレクトされます。

問題を解決するには、OAuthではなくAuthSubを使用します。安全性は低くなりますが、より便利です。また、アプリケーションでは、ユーザーがGoodleによって検証されたというトークンを単に受け取ることができるため、このようにユーザーの情報を永久に保存する必要はありません。

希望すると便利です。

1

はありOauth/OpenID hybrid solutionsourceを参照) - 基本的にあなたは、あなたが認証トークンのためにそれを交換し、将来の使用のためにそれを保存し、見返りに基本的なユーザーデータとリクエストトークンを取得し、特定の範囲アクセスをお願いいたします。