我正在实现OAuth2协议,但是我对流程的方式有一些疑问和担忧 关于本机/手机应用程序。据我所知,我应该使用“密码授予”方法 因为该应用程序(移动)是第一方应用程序,所以也是资源服务器和授权服务器 是相同的。他们住在同一台服务器上,并且使用相同的数据库。
这是我的第一个方法和问题:
1)我应该为该应用程序创建一个client_id和client_secret,这意味着每个已安装的应用程序都有一个客户端吗?
2)是否应将client_id和client_secret保存在应用程序中的某种安全存储中?有了这个我将能够 请求访问令牌。
3)我是否应该将发出的访问令牌保存在安全的商店中,并且有效期较长(例如5年)?
4)是否需要安全存储来保存访问令牌?这是为了防止某些入侵智能手机的人获得访问令牌。
这是我的第二种方法:
5)在服务器端仅保留一个client_id和一个client_secret。这样,我只会向用户询问他的 电子邮件和密码。如果验证成功,我将返回访问令牌。
6)将有效期长的令牌保存在安全的存储区中。
7)我想在某个时候,我需要刷新令牌。
我真的很坚持,如果有人可以帮助我,我将不胜感激。