我们目前正在开发本机移动应用程序,我们需要使用我们的身份服务器(由thinktecture身份服务器v3制作)和/或外部社交身份提供程序对最终用户进行身份验证,以消耗我们系统中的一些资源.
我们正在尝试使用OIDC来获取访问令牌和ID令牌.在一个完美的世界中,我们希望本机移动应用程序最终用户无限期地保持记录(甚至跨本机应用程序重新启动),直到最终用户决定注销.
首先,我们选择了隐式流程.但我们发现此流程中没有刷新令牌.
1.为什么隐式流量规范禁止刷新令牌?危险在哪里?
换句话说,为什么令牌端点不具有隐式流"可达"?
然后,我们测试了混合流以获得刷新令牌(非常长寿但可撤销)和访问令牌(短期).问题是将client_secret嵌入到本机公共客户端中.(OIDC规范描述的不良和不安全的做法)
3)所以...本地公共应用程序不能使用混合流...嗯?
所以,我们现在想知道自定义代码流解决方案是否是一个好主意:创建一个"代理"/"前端"web api,它可以使用自己的安全client_secret到达令牌端点,因此,转发代码/ refresh_token/access_token请求从本机客户端应用程序到授权服务器令牌端点?
4)对此有何评论?
oauth-2.0 thinktecture-ident-server nativeapplication openid-connect thinktecture