[ 
https://issues.apache.org/jira/browse/SCB-1293?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

liubao updated SCB-1293:
------------------------
    Description: 
1. provide TLS for authentication server & edge service
 2. grant scope for INTERNAL access & EXTERNAL access 
 3. userDetailInfo service support, see OpenID connect specification.
 4. implement session management and logout
 5. supporting layered roles. 

ROLE_LEVEL1
 / \
 ROLE_LEVEL2 ROLE_LEVEL2

if TOKEN contains only ROLE_LEVEL1,operation with ROLE_LEVEL2 access, the 
access is allowed.

6. 设计目标:无状态。认证服务器和资源服务器均可以多实例部署,每个实例之间不共享状态。在实现很多功能的时候,都遵循这个约束。包括通过refresh 
token获取新的access token的时候。遵循这个约束,意味着请求需要同时传递refresh token和access token。

7. 设计目标:有状态。 会话管理功能需要和无状态一并支持。 
 8 ID Token support, see  OpenID connect specification.

 

无状态不好的地方:TOKEN在有效期内,容易被利用,无法注销;TOKEN过期后,必须重新认证,和用户是否在一直操作无关,体验不好,虽然可以通过refresh_token获取新的token提升体验,但是refresh_token有效期如果设置的太长,会降低安全性。Token在有效期内,如果修改了权限等信息,无法及时感知,需要重新登录。


无状态好的地方:TOKEN签发、认证都可以由微服务实例独自完成,不需要共用的数据存储,比如数据库、Redis等,效率更高,弹性扩容。

  was:
# TODO LIST
1. provide TLS for authentication server & edge service
2. grant scope for INTERNAL access & EXTERNAL access 
3. access token support: a. use access token to get optional scope or roles 
token. 这个可以解决角色过多的时候, token过大的一些问题
4. 实现注销逻辑(会话管理)
5. 支持分层的角色机制

ROLE_LEVEL1
 / \
 ROLE_LEVEL2 ROLE_LEVEL2

TOKEN里面只返回ROLE_LEVEL1,设置为ROLE_LEVEL2访问的操作,也可以访问。

6. REFRESH_TOKEN可以用来实现申请不同SCOPE的TOKEN。 
7. 设计目标:无状态。认证服务器和资源服务器均可以多实例部署,每个实例之间不共享状态。在实现很多功能的时候,都遵循这个约束。包括通过refresh 
token获取新的access token的时候。遵循这个约束,意味着请求需要同时传递refresh token和access token。 
8, 重新设计TOKEN(代码重构、支持会话管理),支持OpenID Connect。

OAUTH的不好的地方:TOKEN在有效期内,容易被利用,无法注销;TOKEN过期后,必须重新认证,和用户是否在一直操作无关,体验不好,虽然可以通过refresh_token获取新的token提升体验,但是refresh_token有效期如果设置的太长,会降低安全性。Token在有效期内,如果修改了权限等信息,无法及时感知,需要重新登录。
OAUTH的好的地方:TOKEN签发、认证都可以由微服务实例独自完成,不需要共用的数据存储,比如数据库、Redis等,效率更高,弹性扩容。


> servicecomb-fence todo list
> ---------------------------
>
>                 Key: SCB-1293
>                 URL: https://issues.apache.org/jira/browse/SCB-1293
>             Project: Apache ServiceComb
>          Issue Type: New Feature
>            Reporter: liubao
>            Assignee: liubao
>            Priority: Major
>
> 1. provide TLS for authentication server & edge service
>  2. grant scope for INTERNAL access & EXTERNAL access 
>  3. userDetailInfo service support, see OpenID connect specification.
>  4. implement session management and logout
>  5. supporting layered roles. 
> ROLE_LEVEL1
>  / \
>  ROLE_LEVEL2 ROLE_LEVEL2
> if TOKEN contains only ROLE_LEVEL1,operation with ROLE_LEVEL2 access, the 
> access is allowed.
> 6. 设计目标:无状态。认证服务器和资源服务器均可以多实例部署,每个实例之间不共享状态。在实现很多功能的时候,都遵循这个约束。包括通过refresh 
> token获取新的access token的时候。遵循这个约束,意味着请求需要同时传递refresh token和access token。
> 7. 设计目标:有状态。 会话管理功能需要和无状态一并支持。 
>  8 ID Token support, see  OpenID connect specification.
>  
> 无状态不好的地方:TOKEN在有效期内,容易被利用,无法注销;TOKEN过期后,必须重新认证,和用户是否在一直操作无关,体验不好,虽然可以通过refresh_token获取新的token提升体验,但是refresh_token有效期如果设置的太长,会降低安全性。Token在有效期内,如果修改了权限等信息,无法及时感知,需要重新登录。
> 无状态好的地方:TOKEN签发、认证都可以由微服务实例独自完成,不需要共用的数据存储,比如数据库、Redis等,效率更高,弹性扩容。



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to