Previous articles have introduced the Spring Cloud SSO integration scenario, have also done spring + JWT + redis solutions, seamless integration of different systems, unified SSO Single Sign-on interface management, each application integration authority authentication, white list, etc. are we need to consider, Now for the above problems we do SSO Single sign-on application certification platform, designed as follows:
1. Database design:
DROP TABLE IF EXISTS ' sso_app_apply '; CREATE TABLE ' sso_app_apply ' (' id ' varchar ( $) Not NULL COMMENT'numbering', ' type ' varchar ( $) Not NULL COMMENT'category of Belong', ' applicant ' varchar ( $) Not NULL COMMENT'Applicants', ' approver ' varchar ( $) Not NULL COMMENT'Approving person', ' appname ' varchar ( $) Not NULL COMMENT'App Name', ' range ' varchar ( $) Not NULL COMMENT'Scope of Use', ' token ' varchar ( $) Not NULL COMMENT'Token authentication Code', ' Approval_time ' datetime not NULL COMMENT'Approval Time', ' create_date ' datetime not NULL COMMENT'creation Time', ' update_by ' varchar ( -) Not NULL COMMENT'updated by', ' update_date ' datetime not NULL COMMENT'Update Time', ' Del_flag 'Char(1) Not NULL DEFAULT'0'COMMENT'Delete Tag', ' status 'Char(1) DEFAULT'0'COMMENT'Audit Status: 0 (Pending review) 1 (approved) 2 (rejected) 3 (blacklist)', PRIMARY KEY (' id ')) ENGINE=innodb DEFAULT Charset=utf8 comment='SSO application Request Form';
drop TABLE IF EXISTS ' sso_app_template '; CREATE TABLE ' sso_app_template ' (' id ' varchar ( 200 ) not NULL COMMENT " number " , ' a_id ' varchar ( 200 ) not NULL COMMENT " app ID " 200 ) not NULL COMMENT " template ID " =innodb DEFAULT charset=utf8 comment= " sso Apply template Intermediate table ";
DROP TABLE IF EXISTS ' sso_template '; CREATE TABLE ' sso_template ' (' id ' varchar ( $) Not NULL COMMENT'numbering', ' name ' varchar ( $) Not NULL COMMENT'Template Name', ' type ' varchar ( $) Not NULL COMMENT'Template Classification', ' img ' varchar ( $) Not NULL COMMENT'Template Picture', ' create_by ' varchar ( -) Not NULL COMMENT'created by', ' create_date ' datetime not NULL COMMENT'creation Time', ' update_by ' varchar ( -) Not NULL COMMENT'updated by', ' update_date ' datetime not NULL COMMENT'Update Time', PRIMARY KEY (' id ')) ENGINE=innodb DEFAULT Charset=utf8 comment='SSO Template table';
2. Execution process
A. Registered user (can register personal account or business account)
B. Application application (may be multiple applications), select different templates (different templates for SSO single Sign-on system for different industries)
C. Management of the application audit (applicant Submission information audit), audit through the subsequent encryption to generate the application corresponding token information
D. Background management (application list, application review, template management, etc.)
E. Passing token information and application information for SSO Unified Interceptor Authentication (authentication whitelist)
F. Success or failure (jump to the SSO login interface for the specified template)
spring+ Spring Cloud + SSO Single Sign-on app certification