从OAuth草稿中隐式section:
在隐式授权流程期间发出访问令牌时, 授权服务器不对客户端进行身份验证。
现在,让我们假设:
client_id
redirect_uri
来获取访问令牌。他也有相同的fb://blabla
,在原生应用中可以是client_id
。client_id
的访问令牌。这是因为用户甚至不会意识到他正在使用的{{1}},这是我的,因为3.1和3.2。我有办法阻止这种情况吗?
答案 0 :(得分:0)
link中的第一句话:
恶意客户端可以冒充其他客户端并获取访问权限 受保护的资源,如果模拟的客户端失败,或者是 无法保密其客户凭证。
我想这是唯一的方法。此外,您可以在clientId上应用一些加密,加密存储并在验证用户之前解密它。
答案 1 :(得分:0)
这是一个老问题,但仍然无法解决。 隐式流本质上是一个不太安全的流,仅当您无法安全地保存客户端ID和机密并执行代码流(混合流)时(如在单页应用程序中),在使用移动应用程序或Web应用程序时,才应使用隐式流建议在服务器端使用代码流来防止此类冒充。
现在换句话说,我不是移动开发人员,所以我不知道“魔术链接”是如何工作的,但是我认为如果2个应用程序将定义相同的url(用于重定向uri),它将失败,但是多数民众赞成在我的理由值得检查...