본문 바로가기
Development/Tech&Seminar

#2 OpenID Connect Flow

by 폴피드 2018. 8. 14.
728x90
반응형
앞에 글(2018/08/07 - [Development/Tech&Seminar] - #1 Open ID Connect 가 뭐야???에서 OpenID Connect가 무엇인지에 대해서 설명을 했었다. 이번에는 각가의 흐름에 대해서 좀더 자세히 설명을 해보기로 한다. 

OpenID Connect 의 Flow 는 response_type 에 의해서 정해진다고 말했었다. 그 response_type 에 따라서 어떻게 다른지 확인해보자.

아래 정의한 모든 Request는 parameter  scope  openid 가 포함되어야 한다. openid가 포함되어있지 않을 경우는 다르게 동작할 수 있다. 

1. response_type = code

Endpoint

Authorization Code

Access Token

ID Token

Authorization

O

X

X

Token

X

O

O


openid  포함되지 않을경우 (oauth authorization code flow  동일하다)


Endpoint

Authorization Code

Access Token

ID Token

Authorization

O

X

X

Token

X

O

X

 

    2. response_type = id_token (Token Endpoint 를 사용하지 않는다.)

    Endpoint

    Authorization Code

    Access Token

    ID Token

    Authorization

    X

    X

    O

     

    3. response_type = id_token token (Token Endpoint 를 사용하지 않는다.)


      Endpoint

      Authorization Code

      Access Token

      ID Token

      Authorization

      X

      O

      O


      추가적으로 Oauth 2.0 에서는 response_type 에 token 이 라는 항목도 있지만 OpenID Connect 에서는 사용하지 않는다. response_type 이 token 일 경우에는 ID-Token을 리턴하지 않기 때문이다. 

      4. response_type = code id_token

      Endpoint

      Authorization Code

      Access Token

      ID Token

      Authorization

      O

      X

      O

      Token

      X

      O

      O


      5. response_type = code token

      Endpoint

      Authorization Code

      Access Token

      ID Token

      Authorization

      O

      O

      X

      Token

      X

      O

      O


      openid  포함되지 않을경우 (oauth authorization code flow  동일하다)


      Endpoint

      Authorization Code

      Access Token

      ID Token

      Authorization

      O

      O

      X

      Token

      X

      O

      X


      6. response_type = code id_token token

      Endpoint

      Authorization Code

      Access Token

      ID Token

      Authorization

      O

      O

      X

      Token

      X

      O

      O




      참고자료

      http://openid.net/specs/openid-connect-core-1_0.html#IDToken

      https://medium.com/@darutk/diagrams-of-all-the-openid-connect-flows-6968e3990660


      728x90
      반응형