laravel passport OAuth 2.0 의 4 가지 모드 를 자세히 설명 합 니 다.

3476 단어 laravelpassport패턴
참고:
https://xueyuanjun.com/post/
1.익숙 한 장면
한 사이트,한 사용자 가 등록 하지 않 았 습 니 다.등록 할 때 위 챗 계 정 로그 인(github,google 은 모두 유사 합 니 다.
모 사 이 트 는 제3자(클 라 이언 트)로 인증 서버 와 자원 서버 가 모두 위 챗 에 있 습 니 다.자원 은 위 챗 의 사용자 이름,프로필 사진 등 을 말 합 니 다.
사이트 의 목적 은 사용자 의 위 챗 계 정,프로필 사진 등 을 얻 고 빠 른 등록 을 편리 하 게 하 는 것 이다.전 제 는 사용자 의 권한 수여 동의 가 필요 하 다.

laravel 은 passport 로 OAuth 2 인증 서 비 스 를 구축 합 니 다.
laravel 기반 OAuth 2 서버 구축 에 해당 합 니 다.

     : laravel server
OAuth2      : laravel server
  :  laravel server      
   :   api   Web ,       access_token
준비 하 다.
문서 참조:https://xueyuanjun.com/post/1...
4 가지 모드
대응 하 는 사용 자 를 추가 하 십시오artisan passport:client서로 다른 응용 필드 에 대응:

인증 코드 모드(authorizationcode)
위 챗 권한 수여 로그 인 과 같은 서 비 스 를 실현 합 니 다.이것 은 당연히 가장 강력 하고 복잡 합 니 다.
사용자 가 클 라 이언 트 위 터 로그 인 단 추 를 누 르 면 url 은 위 챗 의 로그 인 페이지 로 이동 합 니 다.(예 를 들 어 위 챗 로그 인)

사용자 가 위 챗 에 로그 인 하면 위 챗 은 권한 을 부여 할 수 있 는 지 여 부 를 알려 줍 니 다.
실제 인증 서버 에 접근 한/oauth/authorize.

허용,redirect 클 라 이언 트 가 지정 한 redirecturi
uri 를 제3자 가 절차 1 에서 지정 합 니 다.
백 엔 드 에서 구체 적 으로 방향 을 바 꾸 는 url 을 제어 할 수 없습니다.(제3자 마다 다 릅 니 다)url 을 통 해 반환 매개 변수 code 를 추가 할 수 있 습 니 다.
제3자 서비스의 백 엔 드 처리 이 방향 을 바 꾸 고 다시 방문/oauth/token을 시작 하여 진정한 token 을 얻 습 니 다.

암시 적 권한 부여
code 권한 수여 와 의 유일한 차 이 는 되 돌아 오 는 redirect 입 니 다.uri 에 코드 인자 가 없습니다:http://dev.blog.com:8000/oauth/authorize?client_id=6&response_type=code&scope=&state=SENPYyXJvT0fl4Rnz0Ag&redirect_uri=http%3A%2F%2Fdev.blog.com%3A8000%2Fauth%2Fcallback암호 인증 모드(passwordcredentials)
이동 단 적용.
인증 과정 이 없 으 면 클 라 이언 트 가 로그 인 할 때 자원 서버 에 등 록 된 계 정 비밀 번 호 를 직접 가 져 옵 니 다.마치 같은 계 정 시스템 을 사용 하 는 것 과 같 습 니 다.
클 라 이언 트 모드(clientcredentials)
위 챗 등 오픈 플랫폼 과 같은 인증 방식 입 니 다.개발 자 등록 후 clientid,client시 크 릿,그리고 인증 해서 토 큰 을 가 져 가서 직접 사용 하 세 요.
비밀번호 인증 보다 간단 합 니 다.사용자 이름 비밀번호 없 이 client 를 사용 합 니 다.id + client_secret.
javascript api
spa 적용,사용 하지 않 아 도 됩 니 다.양식 을 제출 하고 로그 인 해 야 하 니까 요.
js api 테이프Bearer Token +xxx의 인증 을 줄 이 고 쿠키 에 직접 넣 습 니 다.
middleware 를 추가 해 야 합 니 다:\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class이 Passport 미들웨어 는 laravel 을 추가 합 니 다.token Cookie 에서 출력 응답 까지 이 Cookie 는 암호 화 된 JWT 를 포함 하고 있 습 니 다.Passport 는 이 JWT 를 사용 하여 JavaScript 응용 프로그램 에서 온 API 요청 을 인증 합 니 다.이 제 는 액세스 토 큰 을 표시 하지 않 고 응용 프로그램 에 요청 한 API 를 보 낼 수 있 습 니 다.
기타 용법

1     
          、          API        
2 scope    
        api  
총결산
위 에서 말씀 드 린 것 은 편집장 님 께 서 소개 해 주신 laravel passport OAuth 2.0 의 4 가지 모델 입 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
만약 당신 이 본문 이 당신 에 게 도움 이 된다 고 생각한다 면,전 재 를 환영 합 니 다.번 거 로 우 시 겠 지만 출처 를 밝 혀 주 십시오.감사합니다!

좋은 웹페이지 즐겨찾기