我一直在寻找本地移动的应用程序身份验证的最可取的标准/协议,直到最近,大多数文章/视频都建议使用PKCE的授权代码流,并说明其优点。
然而,我的大多数客户(特别是那些不需要第三方登录,只有用户名/通行证或手机认证的移动的应用程序),拒绝有一个浏览器屏幕弹出身份验证说,这是糟糕的用户体验(和许多文章建议相反,当他们看到一个浏览器的URL,这是安全的,而是给他们暂停时,它并没有给予他们救济)。SO上有一个老问题,它不再成立,实际上仍然只是试图在不提供本地经验的情况下解决:Mobile/Native Authentication: User experience and alternatives to Auth Code + PKCE
所以我的问题是,什么是一个好的标准/协议,建议从安全的Angular 来看,并有良好的支持(可用的实现/库/工具),但仍然可以提供本地移动的体验,而无需浏览器?
1条答案
按热度按时间u0njafvf1#
在我的情况下(我使用Laravel Passport),虽然它不再是推荐的做法,但我使用密码授予类型和刷新令牌授予类型,我在后端保留客户端ID和客户端秘密,从前端我只接收用户和密码,在后端我向授权端点发出请求,将授予类型,客户端ID和客户端秘密添加到请求中,这样我就可以为前端提供访问令牌和刷新令牌。