laravel passport OAuth 2.0의 4가지 모드

2250 단어 oauthlaravel
참조:https://xueyuanjun.com/post/1...

익숙한 장면

 , , (github, google )

모 사이트는 제3자(클라이언트)로 인증 서버와 자원 서버는 모두 위챗에 있다. 자원은 위챗의 사용자 이름, 이미지 등을 가리킨다
사이트의 목적은 사용자의 위챗 계정, 프로필 사진 등을 수정하여 신속하게 등록하는 것이다.전제는 사용자의 권한 수여 동의가 필요하다.

laravel, Passport로 OAuth2 인증 서비스 구축


laravel 기반 OAuth2 Server 구축
 : laravel server
OAuth2  : laravel server
 :  laravel server 
 :  api Web , access_token
  • 준비
  • 문서 참조:https://xueyuanjun.com/post/1...
  • 4가지 모드
  • artisan passport:client로 사용자 추가
    서로 다른 응용 장면에 대응:

    인증 코드 모드(authorizationnucode)


    유사한 위챗 인증 로그인 서비스를 실현하다.이것은 당연히 가장 강력하고 복잡하다.
  • 사용자가 클라이언트의 위챗 로그인 단추를 누르면 URL은 위챗의 로그인 페이지로 이동한다(예를 들어 위챗 로그인)
  • 사용자가 위챗에 로그인하면 위챗 알림이 권한을 부여할 수 있는지 여부를 알려줍니다.

  • 실제 인증 서버에 액세스하는 경우/oauth/authorize.
  • 허용, 클라이언트가 지정한redirect_uri

  • 리디렉션 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 

    좋은 웹페이지 즐겨찾기