Week4

4104 단어

React practice


gitlab-->WebpackBebel-ReactDemo

OAuth2 재인식

  • 사용자가 클라이언트에 접근하고 클라이언트가 사용자 가이드 인증 서버
  • 사용자가 클라이언트에게 권한을 부여할지 선택
  • 사용자가 권한을 부여한다고 가정하면 인증 서버는 사용자가 클라이언트에게 미리 지정한 URI로 방향을 바꾸고 권한 수여 코드를 첨부한다
  • 클라이언트는 권한 수여 코드를 받고 이전의 리셋 URI를 첨부하여 인증 서버에 영패를 신청합니다.이 단계는 클라이언트의 백그라운드 서버에서 이루어진 것으로 사용자에게 보이지 않는다
  • 인증 서버는 인증 코드와 URI를 대조하여 오류가 없음을 확인한 후 클라이언트에게 액세스 토큰(access token)과 업데이트 토큰(refresh token) 등
  • 을 발송한다
    첫 번째 단계:
    클라이언트가 인증한 URI=>https://facebook.com/dialog/oauth?response_type=code&client_id=YOUR_CLIENT_ID&redirect_uri=REDIRECT_URI&scope=email
    response_type: 권한 수여 형식을 표시하고 필수 옵션을 표시합니다. 이 값은'code'client_로 고정됩니다.id: 클라이언트의 ID를 나타내는 필수 옵션입니다.redirect_uri: URI로 리디렉션됨을 나타냅니다. 옵션 scope: 요청한 권한 범위를 나타냅니다. 옵션 state: 클라이언트의 현재 상태를 나타냅니다. 임의의 값을 지정할 수 있습니다. 인증 서버는 이 값을 그대로 되돌려줍니다.
    3단계:
    서버에서 사용자를 URI로 안내하고 인증 코드 => HTTP/1.1 302 Found Location:https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA&state=xyz
    코드: 권한 수여 코드를 표시합니다. 필수 옵션입니다.이 코드의 유효기간은 매우 짧을 것입니다. 보통 10분으로 설정하고 클라이언트는 이 코드를 한 번만 사용할 수 있습니다. 그렇지 않으면 권한 수여 서버에서 거부될 것입니다.이 코드는 클라이언트 ID, URI로 리디렉션됩니다.state: 클라이언트의 요청에 이 파라미터가 포함되면 인증 서버의 응답도 이 파라미터를 똑같이 포함해야 합니다.
    4단계: 클라이언트가 인증 서버에 토큰을 요청합니다.
    grant_type: 권한 수여 모드를 표시합니다. 이 값을 "authorization nucode"로 고정합니다.코드: 이전에 획득한 권한 수여 코드를 표시합니다. 필수 옵션입니다.redirect_uri: URI로 리디렉션하려면 옵션이 필요하며 A 단계의 매개변수 값과 일치해야 합니다.
    POST /token HTTP/1.1
    Host: server.example.com
    Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA
    &redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb
    

    단계 5: 인증 서버에서 보낸 HTTP 응답
    Oauth Server가 token으로 되돌아옵니다. 이 때 token을 통해 사용자가 권한을 부여한 자원을 얻을 수 있습니다.access_token: 방문 영패를 표시합니다. 필수 옵션입니다.token_type: 영패 형식을 표시합니다. 이 값은 대소문자가 민감하지 않습니다. 반드시 선택해야 합니다. 베어 형식이나mac 형식일 수 있습니다.expires_in: 기한이 지났음을 나타냅니다. 단위는 초입니다.이 매개 변수를 생략하려면 다른 방법으로 만료 시간을 설정해야 합니다.refresh_token: 다음 방문 영패를 가져오는 데 사용할 영패를 업데이트합니다. 선택할 수 있습니다.scope: 권한 범위를 나타냅니다. 클라이언트가 요청한 범위와 일치하면 이 항목은 생략할 수 있습니다.
     HTTP/1.1 200 OK
         Content-Type: application/json;charset=UTF-8
         Cache-Control: no-store
         Pragma: no-cache
         {
           "access_token":"2YotnFZFEjr1zCsicMWpAA",
           "token_type":"example",
           "expires_in":3600,
           "refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
           "example_parameter":"example_value"
         }
    

    Refresh token


    사용자가 접근할 때 클라이언트의 접근 영패access_token이 만료되었으면 업데이트 영패refresh_를 사용해야 합니다token은 새로운 방문 영패를 신청합니다.클라이언트가 다음 매개변수를 포함하여 토큰을 업데이트하는 HTTP 요청을 실행합니다.
    grant_type: 사용하는 권한 수여 모드를 나타냅니다. 이 값은'refreshtoken'으로 고정되어 있습니다. 필수 옵션입니다.refresh_token: 이전에 받은 업데이트 영패를 표시합니다. 필수 옵션입니다.scope: 신청의 권한 수여 범위를 초과해서는 안 되며, 이 파라미터를 생략하면 지난번과 일치합니다.
    POST /token HTTP/1.1
    Host: server.example.com
    Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
    Content-Type: application/x-www-form-urlencoded
    
    grant_type=refresh_token&refresh_token=tGzv3JOkF0XG5Qx2TlKWIA
    

    semver 의미화 버전 규범


    버전 형식: 주 버전 번호.차 버전 번호.수정 번호, 버전 번호 증가 규칙은 다음과 같다. 메인 버전 번호: 호환되지 않는 API 수정을 했을 때, 다음 버전 번호: 아래로 호환되는 기능성이 추가되었을 때, 수정 번호: 아래로 호환되는 문제를 수정했다.
    선행 버전 번호: 정식 버전을 발표하기 전의 버전, 예를 들어:alpha: 내부 테스트 버전입니다. 일반적으로 외부에 발표하지 않고 버그가 많습니다.일반적으로 테스트 인원만 사용한다.1.0​​.0-alphabeta: 테스트 버전이기도 합니다. 이 단계의 버전은 계속 새로운 기능을 추가합니다.알파 버전 이후 rc:Release Candidate) 시스템 플랫폼을 출시하는 것이 발매 후보다.RC 버전은 더 이상 새로운 기능을 추가하지 않을 것이며, 주로 오류 제거에 중점을 두어야 한다.
    정의 의존 버전 번호: ^: 같은 주 버전 번호 중 지정된 버전 번호보다 작지 않은 버전 번호 ^2.2.1 = > 2.2.1, 2.2.2, 2.3.0, 주 버전 번호가 고정됨을 나타냅니다~: 같은 주 버전 번호와 차 버전 번호 중 지정된 버전 번호보다 작지 않은 버전 번호 ~2.2.1 = > 2.2.1、2.2.2, 주 버전 번호와 차 버전 번호가 고정됨, =, >=, <=,-: 버전 번호 범위 지정 >2.1 1.0.0 - 1.2.0 | |: 표시 또는 x, X, *: 와일드카드 표시 3.x = = > 모든 기본 버전 번호가 3인 버전 번호

    좋은 웹페이지 즐겨찾기