Yahoo! HTTP만 ID 공동 작업(v1)을 통해 액세스 토큰을 받으려면

본문에서 소개한 것은 야호!HTTP를 통해서만 ID 협업(v1)을 통해 액세스 토큰을 획득하는 절차를 설명합니다.

전제 조건

  • 완성애플리케이션 등록.
  • 쇼핑 API를 사용하는 앱은 어플리케이션 정보 입력(쇼핑몰 운영 지원 API 사용)에서 등록해야 한다.
  • Auth에 필요한 정보를 미리 준비하세요.


    어플리케이션 관리에서 응용 프로그램의 세부 페이지를 열고 아래의 정보를 미리 제어합니다.
  • 애플리케이션 ID
  • 비밀
  • 콜백 URL
  • 애플리케이션 세부 정보 페이지:

    사용자 승인 요청(승인 토큰 획득)


    다음 HTTP 요구 사항을 보내면
    청원
    GET /yconnect/v1/authorization?response_type=code+id_token&client_id=${アプリケーションID}&redirect_uri=${コールバックURL}&nonce=${適当な数字} HTTP/1.1
    Host: auth.login.yahoo.co.jp
    Accept: */*
    Connection: keep-alive
    
    아래의 회답은 돌아올 것이다.
    호응하다
    HTTP/1.1 302 Found
    Age: 0
    Cache-Control: no-cache, no-store, must-revalidate, private
    Connection: close
    Content-Length: 0
    Content-Type: text/html; charset=EUC-JP
    Date: Wed, 17 Apr 2019 09:17:51 GMT
    Location: https://login.yahoo.co.jp/config/login_verify2?.src=oauth&.display=&ckey=${アプリケーションID}&.done=https%3A%2F%2Fauth.login.yahoo.co.jp%2Fyconnect%2Fv1%2Fauthorization%3Ftoken%3Dxxxxxxx%26from_login%3D1%26.scrumb%3D0%26display%3D&auth_lv=pin
    P3P: policyref="http://privacy.yahoo.co.jp/w3c/p3p_jp.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"
    Server: ATS
    
    브라우저에서 헤더의 URL을 열 때, 응용 프로그램에 대한 정보 제공 동의 화면을 표시합니다.

    동의하면 리디렉션Location됩니다.이 http://コールバックURL?code=XXXXX&state= 매개 변수의 값을 권한 수여 영패라고 부른다.
    세부 사항: Yahoo! ID 연합: Authorization 피날레-Yahoo!개발자 네트워크

    액세스 토큰 요청(액세스 토큰 획득)


    Basic 인증 정보를 준비합니다.다음 코드로 계산하세요.(HTTP만 사용해서 설명한다고 하는데 다음은 PHP 코드)
    $Basic認証の情報 = base64_encode($アプリケーションID . ':' . $シークレット);
    
    액세스 토큰을 받으려면 다음 HTTP 요청을 보내십시오.영패를 인정하는 것은 위의 절차에서 얻은 것이다.
    청원
    POST /yconnect/v1/token HTTP/1.1
    Host: auth.login.yahoo.co.jp
    Accept: */*
    Authorization: Basic {$上で計算したBasic認証の情報}
    Content-Type: application/x-www-form-urlencoded; charset=utf-8
    
    grant_type=authorization_code&code={$認可トークン}&redirect_uri=${コールバックURL}
    
    아래의 회답은 돌아올 것이다.
    호응하다
    HTTP/1.1 200 OK
    Age: 0
    Cache-Control: no-cache, no-store, must-revalidate, private
    Cache-Control: no-store, private
    Connection: close
    Content-Encoding: gzip
    Content-Length: ????
    Content-Type: application/json;charset=UTF-8
    Date: Wed, 17 Apr 2019 09:18:09 GMT
    P3P: policyref="http://privacy.yahoo.co.jp/w3c/p3p_jp.xml", CP="CAO DSP COR CUR ADM DEV TAI PSA PSD IVAi IVDi CONi TELo OTPi OUR DELi SAMi OTRi UNRi PUBi IND PHY ONL UNI PUR FIN COM NAV INT DEM CNT STA POL HEA PRE GOV"
    Pragma: no-cache
    Server: ATS
    Vary: Accept-Encoding
    
    {
        "access_token": "アクセストークン(めっちゃ長い)",
        "expires_in": "3600",
        "id_token": "IDトークン(そこそこ長い)",
        "refresh_token": "リフレッシュトークン(そんなに長くない)",
        "token_type": "bearer"
    }
    
    주체상code에서 방문 영패가 되다.
    세부 사항: Yahoo! ID 연합: Token 말단 지점 - Yahoo!개발자 네트워크

    연관성

  • 야후 API 액세스 토큰을 위한 개발 도구 - Qita
  • 야후 API에서 액세스 토큰이 만료된 응답 샘플 - Qita
  • 야후 API의 액세스 토큰과 리셋 토큰의 유효기간 - Qita
  • 좋은 웹페이지 즐겨찾기