abcd , aceb
abcd
a ab ac /ad /abc /abd /acd /abcd
b /bc /bd /bcd
c /cd
/d
aceb
a ac /ae ab /ace /acb /aeb /aceb
c /ce /cb /ceb
/e /eb
b
공통
a ab ac
b c
- 문자열 중 공통되지 않는 알파벳이 포함되는 경우는 배제된다(d, e)
공통되지 않는 문자열을 어떻게 빼나?
- 공통된 문자열(abc, acb)
연속하지 않는 부분 문자열
a b c ac
a c b ab
가면 갈수록 어렵다;;
Resource Owner : 액세스 중인 리소스의 유저
Client : Owner를 대신하여 보호된 리소스에 액세스하는 응용프로그램(앱)
Resource server : client의 요청을 수락하고 응답하는 보호된 리소스를 가진 서버
Authorization server : Resource server가 액세스 토큰을 발급받는 서버
Authorization grant : 클라이언트가 액세스 토큰을 얻을 때 사용하는 자격 증명
Authorization code : 액세스 토큰을 발급받기 전에 필요한 code
Access token : 보호된 리소스에 액세스할 때 사용되는 credentials
scope : 주어진 액세스 토큰이 허용되는 범위를 제한
*grant type : 클라이언트가 액세스 토큰을 얻는 방법
Authorization Code Grand Type
Implict Grant Type
Client Credentials Grant Type
Resource Owner Credentials Grant Type
Refresh Token Grant Type
Authorization Code Grant Type
보안성을 강화하기 위한 목적
액세스 토큰을 받아오기 위해, 먼저 Authorization Code를 받고, Code를 가지고 액세스 토큰 요청을 진행(Authorization Server)
액세스 토큰을 가지고 Resource server에 접근
소셜 로그인 로직 플로우