我正在使用Firebase开发本机Android应用程序(没有其他自定义服务器,只有Firebase) 它应该使用其他服务。 (如Facebook API,Twitter API等......)
服务提供商通过OAuth 2.0提供REST Api。 我是OAuth 2.0的新手,我没有经验。
昨天我试图实施" Implicit Grant",它运行正常。 我可以获得access_token,我可以使用REST API。
但是有一个参数" expires_in":604800(7天)。 这意味着我的客户应在7天后重新授权。 (没有refresh_token。)
所以我正在考虑改变#34; Implicit Grant"到"授权代码授予"。 但我已经告诉过你,我是OAuth 2.0的新手。 (我没有经验,这是我的第一次。)
如果我选择"授权码授予",我应该存储"代码"交换" access_token"。 那我应该在哪里存放? 我想我可以将它存储在本地设备中,但它并不考虑安全性。 所以我想知道我可以使用" Firebase实时数据库/ Firestore"作为存储"代码"。
的存储我认为这是合理的。 但我不确定......
答案 0 :(得分:1)
既然你说你是新手,那么值得阅读更多关于Oauth 2.0的内容,特别是当你想建立Oauth服务器时,一个简单的谷歌搜索返回 https://stormpath.com/blog/what-the-heck-is-oauthhttps://stormpath.com/blog/what-the-heck-is-oauth
Fire Base数据库足以构建一个服务器,你需要端点来处理传入的请求,你可以使用Cloud Functions
因此,如果您想实现**授权授权**或隐式流,则需要在浏览器中实现,
最后,如果授权授权流程,您需要另外一个云功能来处理代码交换以访问令牌