我在身份服务器中使用隐式客户端,另一方面有一个本机 android 应用程序,
我的安全问题是:
1-应用逆向工程:如果攻击者可以访问client_Id
,redirect_uri
和/或response_type
,他将能够模仿登录请求。
通过这样做,他正在冒充原始客户
2-中间人:那些client_id
,...通过未加密的https URI发送到身份服务器,为什么不将它们隐藏在Header中?
3-如果重定向URI不是,浏览器将重新发送URI中的令牌,将其显示给中间oob
的localhost
人,
在浏览器发送请求之前,您可以说哦,不,应用程序正在读取令牌并关闭浏览器这么快,
我们真的可以依靠关闭浏览器的应用程序速度,这听起来很软吗?
哪个问题是合理的关切,哪个不是,以及如何解决合理的关切。
关于第 1 点:谷歌如何保护它的服务,如谷歌地图,客户报价至关重要,它必须非常安全,对吧!!?
编辑
如果我们在 header 中传递 client_id 来加密它,我们将违反 http 1.1 规范和 oauth2 规范,我们仍然没有做太多,因为 client_id 是驻留在手机内部,通过小的逆向工程你可以得到它