SpringBootSecurity는 (17)는 데이터베이스 (JDBC)의 전후 단부 OAuth2.0에 버전을 분리 클라이언트를 저장하는 학습

자동으로 인증 코드를 승인

우리의 인증 절차의 앞에, 첫 번째 단계는 그들이 인증 페이지를 받아야하는 것에 동의 것으로, 인증 코드를 구하는 방법

파일

이 과정은이 과정이 실제로 클라이언트 구성에 필요한 자동 승인, 자동 승인을 추가 할 수있는 페이지가 별명과 아바타 등의 정보를 얻을 수 있는지 여부에 의문을 제기, 성공적으로 로그인 한 후 타사 같다 :

파일

우리는 바로 당신이 얻을 수있는 인증 코드 신청 :

파일

프로세스가 자동으로 수행해야하는 경우, 사용자가 동의 함을 클릭 할 필요가있는 경우,이 기본이 거짓 작성하지 false로 설정해야이 구성이 필요합니다.

클라이언트 정보를 정리

작은 구성 위의 자동 승인 만 클라이언트 구성,의는 구성 클라이언트 시스템 전체의 내용을 분류 할 수 있습니다. 첫 번째 모습은 이제 여섯 개 개의 필드를 구성 :

파일

위의 여섯 개 필드는 가장 일반적으로 사용되는이 필수적 클라이언트 정보입니다이다. 그러나 클라이언트의 구성에서 많은 다른 분야는 우리가 전체를 볼 필요가 있습니다 :

파일

(11) 상기 구성은 타사 클라이언트 모두 실질적 콘텐츠 필드를 포함한다. 의 하나에 의해 상세 한 설명하자 :

  • withClient 방법 : CLIENT_ID를 구성하는 고유 각 클라이언트 (클라이언트)를 식별하는 데 사용, 구성해야합니다 (서버가 자동으로 생성 할 수 있습니다) 등록에 작성해야하며,이 필드는 실용적인 응용 프로그램은 또한 app_key라는 필요하다

  • resourceIds 방법 : resource_ids을 구성하는 데 사용이 ID는 클라이언트 대안 ID 자원 실제 요구에 따라, 리소스 집합 클라이언트 등록을 액세스 할 수있는 등록 처리, ID 주어진 자원의 해당 레벨에 따라 상이 할 수 나타낸다. 우리는 각각의 리소스 서버 (자원 서비스)에 대한 ResourceID를 설정할 수 있습니다. 클라이언트 인증을 부여, 당신은 클라이언트 인스턴스가 설정되어 있지 않은 경우, 자원의 모든에 액세스 할 수있는 자원의 일부에 액세스 할 수 있습니다 설정할 수 있습니다.

  • 비밀 방법 : client_secret를 구성하거나 자동으로 실용적인 응용도 app_secret라는 생성 된 등록 서버를 작성합니다

  • 방법의 범위는 : 같은 등 모든 권한을 모든 대표 이동 단말 또는 웹 최종 권한과 읽기 및 쓰기 권한 등의 범위, 지정된 클라이언트의 범위를 구성합니다

  • authorizedGrantTypes 방법 : authorization_code, 암호 모드 : 비밀 번호, 새로 고침 토큰 : refresh_token도, 암시 적 모드 : 암시 : 클라이언트 모드 : client_credentials authorized_grant_types, 옵션 값, 인증 코드 패턴을 구성하는 데 사용. 다중에 대한 지원은 쉼표로 구분

  • redirectUris 방법 : 등록을 작성 암시 web_server_redirect_uri, 클라이언트 리디렉션 URI, authorization_code를 구성하고이 값을 확인해야하는 데 사용

  • 당국 방법 : 인증 프로세스가 사용자 로그인을 필요로하는 경우 당국, 지정된 사용자의 관할권을 구성하는 데 사용은, 필드는 암시을 적용하고 client_credentials을 필요로하지 않는다

  • accessTokenValiditySeconds access_token_validity을 구성하는 방법은, (초) 기본 유효 시간을 설정 access_token은 (12시간)

  • refreshTokenValiditySeconds 방법 : refresh_token_validity을 구성, 제공 refresh_token도 기간 (초), 기본 (30 일)

  • 부가 정보 방법 : additional_information를 구성하는 데 사용이 null이 될 수 있으며, 추가 정보를 나타내며, 값은 JSON 형식이어야합니다

  • autoApprove 방법 : autoapprove를 구성 자동으로 사용자의 승인 작업을 설정할지 여부를, 거짓, 적절한 authorization_code 모드를 기본값으로 사용, 사용자는 점프 직접 redirect_uri로, 승인이 true 조작 스킵 페이지로 설정 확인

여기에 우리가 데이터베이스에서 테이블을 생성, 정의가있는 열한 필드, 테이블 이름 oauth_client_details입니다 :

파일

이 테이블 이름 oauth_client_details에게 OAuth를 테이블 이름을 지정해야합니다, 또한 기본 JDBC 작업 테이블의 이름입니다. 의 레코드를 추가 할 수 있습니다 :

파일

다중 필드 resource_ids 값 등은 이전의 구성과 동일 이전 예에 비해. 비밀은 암호화 된 암호문, 상기 제 1 암호화 비밀에 저장되어 있습니다.

RESOURCE_ID 이상의 공인 서비스, 자원 및 서비스는 자신의 ID를 구성해야합니다 :

파일

기본 관리 JDBC 클라이언트

클라이언트 정보의 죽음의 구성은 먼저 도입 데이터베이스은 매우 간단 의존하는 방식 JDBC 클라이언트 쿼리에서 변경 :

파일

그런 다음 데이터 소스를 구성 :

파일

마지막으로 수정 한 구성 클라이언트 라이선스 클래스 구성 :

파일

수정은 매우 간단 후 클라이언트 구성은 클라이언트에 JDBC 데이터 소스를 구성해야 볼 수있는 쿼리 방법은 자동입니다. 실현에 대해, 당신은 소스 코드를 참조 할 수 있습니다 :

  • org.springframework.security.oauth2.provider.client.JdbcClientDetailsService

이 기록과 CRUD의 SQL 문 논리 있습니다 :

파일

비밀 키 업데이트 방법이있는, 암호화 방법이 필요합니다 :

파일

그래서 우리는 JDBC 뒤에 암호화 방법을 구성 할 수 있습니다 :

파일

테스트

위의 데이터베이스뿐만 아니라, 다른 구성은 다음을 테스트하기 위해, 간단한 변경 :

파일

액세스 결과 :

파일

이전과 특정 프로세스.

코드 주소 : https://gitee.com/blueses/spring-boot-security 19 20

추천

출처www.cnblogs.com/guos/p/11642094.html