laravel passport OAuth 2.0의 4가지 모드
익숙한 장면
, , (github, google )
모 사이트는 제3자(클라이언트)로 인증 서버와 자원 서버는 모두 위챗에 있다. 자원은 위챗의 사용자 이름, 이미지 등을 가리킨다
사이트의 목적은 사용자의 위챗 계정, 프로필 사진 등을 수정하여 신속하게 등록하는 것이다.전제는 사용자의 권한 수여 동의가 필요하다.
laravel, Passport로 OAuth2 인증 서비스 구축
laravel 기반 OAuth2 Server 구축
: laravel server
OAuth2 : laravel server
: laravel server
: api Web , access_token
artisan passport:client
로 사용자 추가서로 다른 응용 장면에 대응:
인증 코드 모드(authorizationnucode)
유사한 위챗 인증 로그인 서비스를 실현하다.이것은 당연히 가장 강력하고 복잡하다.
실제 인증 서버에 액세스하는 경우
/oauth/authorize
.리디렉션 ui는 제3자가 단계 1에서 지정합니다.
백엔드에서 구체적인 방향을 바꾸는 URL 구현을 제어할 수 없습니다. (제3자마다 다름) URL을 통해 매개 변수 코드만 추가할 수 있습니다.
제3자 서비스의 백엔드 처리는 이 방향을 바꾸고 다시 방문
/oauth/token
을 시작하여 진정한 token을 얻는다암시적 권한 부여
코드 인증과 유일한 차이점은 되돌아오는 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
암호 인증 모드(password_credentials)
이동 포트가 적용됩니다.
인증 과정이 없고 클라이언트가 로그인할 때 자원 서버에 등록된 계정 비밀번호를 직접 가져옵니다. 마치 같은 계정 시스템을 사용하는 것과 같습니다.
클라이언트 모드(client_credentials)
위챗 등 오픈 플랫폼의 인증 방식과 유사하다.개발자 등록 후 clientid,client_ 받기secret, 그리고 토큰을 가져와서 직접 사용하도록 인증합니다.
비밀번호 인증보다 간단합니다. 사용자 이름 비밀번호 없이client_id + client_secret.
javascript api
스파 적용, 안 써도 돼...어쨌든 표를 제출하고 로그인해야 한다.
jsapi테이프
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
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel 사교계 명사 : Microsoft Azure 구성Laravel 애플리케이션이 있고 사용자를 Azure와 연결하려고 합니다. 이 기사에서는 수행 방법을 설명합니다. 이 자습서에서는 을 사용합니다. 1. 설치 : 먼저 다음 명령을 실행하여 공급자를 설치합니다. 2. ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.