我对混合流程感到困惑。
在这种情况下,假设我们有一个本地桌面应用程序需要对用户进行身份验证。在这种情况下,我们使用推荐的混合流。
据我了解,我们将使用嵌入式Web浏览器将用户定向到身份服务器上的登录页面。用户成功登录,服务器将Web浏览器重定向到注册的重定向URL。桌面应用程序将收到此重定向通知(类似于OnLoadFinished事件),并解析新的url,其中包含一些信息,包括授权代码。然后,桌面应用程序将此授权代码交换为访问令牌/刷新令牌。
考虑到这一过程,如果恶意用户知道重定向URL和客户端ID是什么(假设该用户是前雇员)是不可能的,那么他们就可以创建类似于我们的应用程序了吗?桌面应用程序欺骗用户使用该恶意应用程序?由于他们都知道重定向URL和客户端ID,因此他们可以模拟上述过程并获取访问/刷新令牌。
我是正确的理解还是我缺少什么?
答案 0 :(得分:0)
您绝对正确。就像用户在其计算机/设备上安装的任何其他恶意软件一样。
答案 1 :(得分:0)
如果有人在您的应用程序中应用逆向工程并获取您的 client_id + 重定向,我猜也可能发生这种情况。
这不是说在公共客户端暴露client_id+redirect uri和暴露client_id+client_secret一样危险吗?