Closed yogjun closed 5 years ago
查看jwt和oauth2结合的资料,发现主要的方式都是使用oauth2和jwt结合作为authServer,在authserver认证后才能调用资源服务器(resourceserver)中的资源
目前的springcloud+angular采用的就是:angular部分直接读取jwt(跟读取方向无关,只看jwt),springcloud采用的方案是:auth2+jwt在client中结合使用的方式
主要考虑到需要解决client端与oauth2以及cas认证的问题(由于学校部分,这些统一身份认证服务器必需保持自身独立,不能作为cloud项目的authServer),目前考虑的解决方案有:
1.在client部分直接使用跟jwt结合的oauth2认证angular,security在认证时向公司的oauth2服务请求token(目前遇到问题在配置oauth2统一身份认证时会报异常,同样的配置文件在其他springboot项目不报对应的错,待解决)
2.调整之前后台采用的认证方案,重写为简单的jwt跟angular的交互(即不采用oauth2集成jwt)后,再配置相对应oauth2统一身份认证(备用方案,暂未使用)
问题以解决: 解决方案:单独在springsecurity中签发jwt给angular项目,springboot以独立的项目去认证额外的oauth2
查看jwt和oauth2结合的资料,发现主要的方式都是使用oauth2和jwt结合作为authServer,在authserver认证后才能调用资源服务器(resourceserver)中的资源
目前的springcloud+angular采用的就是:angular部分直接读取jwt(跟读取方向无关,只看jwt),springcloud采用的方案是:auth2+jwt在client中结合使用的方式
主要考虑到需要解决client端与oauth2以及cas认证的问题(由于学校部分,这些统一身份认证服务器必需保持自身独立,不能作为cloud项目的authServer),目前考虑的解决方案有:
1.在client部分直接使用跟jwt结合的oauth2认证angular,security在认证时向公司的oauth2服务请求token(目前遇到问题在配置oauth2统一身份认证时会报异常,同样的配置文件在其他springboot项目不报对应的错,待解决)
2.调整之前后台采用的认证方案,重写为简单的jwt跟angular的交互(即不采用oauth2集成jwt)后,再配置相对应oauth2统一身份认证(备用方案,暂未使用)