전체 글
-
-
react hooks : useState, useEffectconcept/React, Redux, RN 2020. 11. 23. 23:21
참고 출처: velopert useState React에서 Functional component와 Class component의 차이점은 Class component는 state를 가지고 있다는 것이 될 것이다. 즉 리액트 16.8 이전 버전에서는 Functional component 에서는 상태를 관리할 수 없었지만, 리액트가 업데이트 되면서 Hooks 라는 기능이 도입된 이후로 부터 Functional component 에서도 상태를 관리할 수 있게 되었다. Functional component에서 Hooks로 상태를 관리할 수 있는 함수가 바로 useState 이다. useState에서는 상태의 기본값을 파라미터로 넣어서 호출한다. 이 함수를 호출하면 배열이 반환되는데 이 때 첫번째 엘리먼트는 현재..
-
OAuth - Refresh Token Grantconcept/server 2020. 11. 3. 13:26
앞서 살펴본 것처럼 액세스 토큰은 일정 기간 동안만 유효하며 프레임이 종료되고 나면 만료된다. 그 이유는 리프레시 토큰이 steal 당하면 해커가 만료(시간이 오래 걸리거나)까지 사용할 수 있거나 서버에서 블랙리스트에 올라 있기 때문에 보안을 확보하기 위해서이다. 클라이언트가 액세스 토큰이 만료될 때마다 사용자에게 인증 및 권한을 요청하면 매우 힘들 것이다. 이를 방지하기 위해 클라이언트 앱은 리프레시 토큰을 사용할 수 있다. 리프레시 토큰은 만료될 때 액세스 토큰을 가져오는 데 사용할 수 있는 토큰이다. 해커가 리프레시 토큰에 대한 액세스 권한을 얻으면 해커가 리소스에 무제한 액세스 권한을 갖기 때문에 이 정보는 기밀로 유지되어야 한다. 권한 부여 서버에 의해 정의된 리프레시 토큰에 대한 설정은 서로 ..
-
OAuth - Resource Owner Credentials Grantconcept/server 2020. 11. 3. 11:29
educative 를 번역, 요약한 자료입니다. Resource Owner Credentials Grant은 Resource owner가 클라이언트를 신뢰하고 클라이언트와 자격 증명을 공유할 준비가 된 경우에 사용된다. Authorization server는 이 권한 부여 유형을 활성화할 때 특별한 주의가 필요하며 다른 흐름을 실행할 수 없을 때만 허용해야 한다. 이러한 흐름은 저장된 자격 증명을 액세스 토큰으로 변환하여 HTTP Basic 또는 Digest 인증과 같은 직접 인증 체계를 사용하여 기존 클라이언트를 OAuth로 마이그레이션하기 위해 도입되었다. 요 방법은 매우 불안하기 때문에 오늘날 이 흐름을 사용해야 하는 경우는 거의 없다. 1단계 : Token Request 2단계 : Token Re..
-
OAuth - Client Credentials Grant Typeconcept/server 2020. 11. 3. 00:19
educative 를 번역, 요약한 자료입니다. 이 grant type은 기계 대 기계 authorization에 사용된다. 여기서는 유저가 관여하지 않는다. 마이크로 서비스 아키텍처를 따르는 애플리케이션이 있다고 가정해보자. 애플리케이션은 작은 부분으로 나뉘고 각 부분은 별도의 서버에 배포된다. 한 내부 서버가 다른 서버의 일부 데이터에 액세스해야 하는 경우, client credentials grant type을 사용할 수 있다. Client Credentials grant type working 1단계 : Token request 여기서는 직접 토큰 요청이 있다. 유저가 관여하지 않기 때문에 클라이언트가 직접 HTTP POST 요청을 Authorization 서버로 전송한다. request quer..
-
OAuth - Implicit Grant Type (암시적 승인 타입)concept/server 2020. 11. 2. 22:30
educative 를 번역, 요약한 자료입니다. Implicit Grant Type 은 백엔드가 없는 single page JavaScript app을 위해서 설계되었다. 이전 포스팅에서는 클라이언트 앱이 client secret, 그리고 Authorization code를 이용해서 액세스 코드를 얻는 방법에 대해서 알아보았다. 백엔드가 없는 자바스크립트 앱의 문제는 client_secret을 저장할 방법이 없다는 것이다. JS 코드에 client_secret을 저장하는 것은 안전하지 않다. 누구나 액세스할 수 있기 때문이다. 따라서 이러한 앱들에게 Implicit Grant type을 사용한다. 이 때, Authorization 서버는 코드를 반환하는 대신 액세스 토큰을 직접 반환한다. 이 type은 ..
-
OAuth - Authorization Code Grant Typeconcept/server 2020. 11. 2. 21:01
educative 번역, 요약한 자료입니다. What is grant type? OAuth 2.0에서 grant type이라는 용어는 애플리케이션이 액세스 토큰을 얻는 방법을 나타낸다. 각 grant type은 웹 앱이든, 네이티브 앱이든, 웹 브라우저를 출시할 능력이 없는 장치든, 서버 대 서버 애플리케이션이든 특정 용도에 최적화된다. Authorization Code grant type 인증 코드 부여 유형은 가장 일반적으로 사용되는 OAuth 2.0 grant type이다. 유저가 승인한 후 인증 서버에서 액세스 토큰을 얻기 위해 웹 앱과 네이티브 앱 모두에서 사용된다. 인증 코드 흐름은 백엔드가 있는 웹 사이트 및 모바일 앱에 가장 적합하다. 이 유형은 액세스 토큰에 대한 authorization..
-
OAuth 2.0 Intro, 용어concept/server 2020. 11. 2. 17:01
educative를 번역한 자료입니다. what is OAuth 2.0? OAuth 2.0은 인증을 위한 업계 표준 프로토콜 OAuth 2.0은 웹 애플리케이션, 데스크탑 애플리케이션, 휴대폰 및 거실 장치에 대한 특정 인증 흐름을 제공하는 동시에 클라이언트 개발자 단순성에 초점을 맞추고 있다. 즉, OAuth는 보안된 리소스에 액세스하기 위해 클라이언트에 권한을 제공!(Authorization) 하는 프로세스를 단순화하는 프로토콜이다. OAuth가 Authentication 이냐, Authorization이냐에 대한 혼란이 있을 수 있다. 정답은 Authorization이다! OpenId Connect 라는 확장자가 있어서 Authentication이 가능하기는 하지만, OAuth는 Authorizat..