我的应用从用户的Google日历中提取信息。 用户已经必须登录我的应用程序,因此他们发现每个会话至少一次(目前使用OAuth)必须“授予访问权限”到他们的谷歌帐户是令人讨厌的。
有没有办法获得永久(或接近它)的补助金?
我甚至愿意使用openID作为我的主要身份验证。那会有帮助吗?
我相信GData API提供了一个ClientLogin协议,它要求我存储用户的登录信息,我对此并不满意,尽管如果归结为它,我认为它比替代方案更好。
答案 0 :(得分:3)
每次用户再次登录时,您都不需要请求访问令牌。
答案 1 :(得分:2)
由于您使用的是OAuth,我了解您的应用程序是一个Web应用程序?好吧,OAuth是你遇到问题的原因,这不是一个问题,而是API的一个特性。请参阅,OAuth连接已进行数字签名,因此每次用户尝试登录时,都会将其重定向到OAuthAuthorizeToken页面。
要解决您的问题,请使用AuthSub而不是OAuth。它不太安全但更方便。此外,它允许您的应用程序只是接收一个令牌,说明用户已经过Goodle验证,因此您不需要以这种方式存储任何有关您用户的信息。
希望这有帮助!
答案 2 :(得分:1)
有一个Oauth/OpenID hybrid solution(请参阅source) - 基本上您要求某些范围访问权限,获取基本用户数据和请求令牌作为回报,然后您将其换成身份验证令牌并保存以备将来使用。