我正在使用dotNetOpenAuth
对Google oAuth
提供商进行授权。
我对以下内容之间的区别感到困惑:
consumerToken
,consumerSecret
,accessToken
从提供商处获取某些用户的accessToken
。可以永远保持我吗?或者它会过期吗?
代码如何在不将用户重定向到“允许访问我的Google数据页”的情况下启用授权?
答案 0 :(得分:5)
绝不期望对accessToken
的生命期有任何期望。在任何时候,您都可以获得403 HTTP错误,该错误应该在您的应用程序中触发以下内容:
refreshToken
,请在没有资源所有者(最终用户)互动的情况下获取新的accessToken
答案 1 :(得分:2)
您正在使用的OAuth 1.0不包含用于预测访问令牌何时到期的规定,因此您必须阅读Google的OAuth 1.0访问令牌文档,以了解其持续时间。
代码如何在不将用户重定向到“允许访问我的Google数据页”的情况下启用授权?
你没有。如果你能做到这一点,那将是一个巨大的安全漏洞。用户必须授权您的应用访问他/她的数据。但是,一旦获得授权,通过存储您获得的访问令牌(及其秘密),您应该能够在将来使用它并避免用户授权步骤(直到用户撤销令牌或其他方式到期)
答案 2 :(得分:0)
根据文档(https://developers.google.com/accounts/docs/OAuth2),Google支持刷新令牌,因此如果您想存储令牌 - 它就是那个。
请注意,accessToken和refreshToken都代表非常敏感的信息(与明文用户名和密码相当),因此请查看提供商有关存储这些信息的建议和要求。