都是基于IdentityModel/oidc-client-js 简单介绍一下IdentityServer这个东西。 用户登录A或B系统,就是调用A和B对应的webapi,webapi配置了自己的验证服务器是account服务器,account验证未通过,前端就得到401状态码,通过oidc-client-js的内部方法引导用户进行登录
权限引擎:Casbin/OPA(Open Policy Agent)/SpiceDB 调试工具链 权限测试框架:OPA Rego Playground/ SpiceDB Playground 登录流诊断:oidc-client-js
JavaScript中,我们同样需要类似的库,只不过现在需要这个库能够在JavaScript中使用且浏览器运行(因为node.js是服务端),https://github.com/IdentityModel/oidc-client-js
版本就是这么做的,不过他是使用angular-oauth2-oidc这个库完成,我暂时没有找到其他的支持password flow的开源库,参考:https://github.com/IdentityModel/oidc-client-js
参考 本文源代码:https://github.com/linianhui/oidc.example oidc-client.js:https://github.com/IdentityModel/oidc-client-js
接口,需要Token来进行验证,JWT Token中包含一些用户信息,我们可以结合RBAC权限进行授权 1、在已有登录的项目中,我们可以使用密码授权模式,获取Token 2、使用混合流模式,结合前端使用oidc-client-js
另外,如果是前后端分离的结构,也可以浏览一下ddrsql的《IdentityServer4之Implicit(隐式许可) —— oidc-client-js前后端分离》,里面介绍了oidc-client
en/release/quickstarts/7_javascript_client.html 安装oidc-client: 地址是: https://github.com/IdentityModel/oidc-client-js
passport.authenticate('oidc', { failureRedirect: '/login' }), (req, res) => res.redirect('/') ); 前端JavaScript集成 前端可以用oidc-client-js