인증 허가에 대해 배운 요약
전제 지식
우선 전제 지식이 되는 용어의 해설로부터 배워 갔습니다.
이 2개의 기사가 매우 참고가 되어 알기 쉬웠습니다.
용어 설명 & 비유 이야기로 이해가 진행되기 쉬운 것은 이쪽
htps : //에서 v.ぁsss d. jp / 세쿠리 ty / 어서
웹 서비스의 예도 섞여 있으며, 보다 예가 구체적이고 알기 쉬운 것은 이쪽
htps : // 코 m / 타카 히코 카와사키 / ms / f2 0 d25 5% 8F% 아 F
인증(authentication)이란?
인증은 그 사람이 그 사람임을 확인하는 행위입니다.
포인트로서는, 인증과는 어디까지나 확인만에 머물러, 그 사람에게 있는 권한과는 관계가 없습니다.
예를 들어, 회사에 따라서는 사원증과 회사에 입관할 수 있는 자기 카드가 나뉘어 있을 수 있습니다.
직원 증서는 그 사람이 회사 직원임을 증명할 수 있지만,
자기 카드를 집에 잊어버린 경우 입장은 불가능합니다.
인가(authorization)란
인가란 그 사람에게 권한을 부여하는 행위입니다.
앞의 예에서 말하면, 자기 카드를 자신이 아닌 다른 사람이 입수한 경우,
그 사람이 「사원의 ○○씨인가」와는 관계없이 회사에 입관할 수 있어 버립니다.
「사원의 ○○씨이다」와, ○○씨가 소속하는 「회사에 입관할 수 있다」는 각각, 「인증」·「인가」라는 의미에서는 관계는 없습니다.
실제로 만들어 보자
어느 정도 의미를 잡은 곳에서 실제로 만들고 확인하기 위해 오레올레 OAuth 인증을 실시하는 프로바이더와,
프로바이더 서버로 허가된 후에 이용할 수 있는 클라이언트 서버를 만들어 보았습니다
하고 싶은 것은 아래와 같은 이미지
구축의 흐름은 이쪽에 기재하고 있습니다.
두 서버 모두 local로 시작하고 공급자 서버는 300포트, Clients 서버는 3001포트에서 실행 중입니다. 이후의 내용은, 모두 아래 페이지에서 구축한 어플리케이션상에서 동작하는 것을 상정하고 있습니다.
htps : // 코 m / 모에 히코 / ms / 300dc 4d8f70660bcd1
①클라이언트 서버: 인가 서버에 액세스
먼저 Client 서버에 액세스합니다.
http://localhost:3001/users/sign_in
Sign in with Mock을 클릭하면 공급자 서버의 인증을 요청하는 화면으로 이동합니다.
※이번은 「Mock」가 다른 AOuth 인증으로 말하는 곳의 Facebook이라고 생각해 주세요
② 제공자 서버: 인증
아래 페이지로 이동하여 공급자 서버에서 인증을 수행하기 위해 인증을 수행합니다.
http://localhost:3000/users/sign_in
화면은 같습니다만, 이쪽은 프로바이더 서버측의 것입니다.
③ 공급자 서버: 계정에 권한 부여
승인을 요청하는 페이지로 전환합니다.
http://localhost:3000/oauth/authorize?client_id=xxxxx&redirect_uri=http%3A%2F%2Flocalhost%3A3001%2Fusers%2Fauth%2Fmock%2Fcallback&response_type=code&state=xxxxx
인증 후 로그인한 계정에 mock을 사용하여 클라이언트 서버에 액세스할 수 있는 권한을 부여할지 묻는 메시지가 표시됩니다.
④ 제공자 서버 → 클라이언트 서버로 리디렉션
권한을 부여하면 클라이언트 서버로 리디렉션됩니다.
http://localhost:3001/home
클라이언트 서버로 리디렉션되어 콘텐츠가 표시되었습니다.
덧붙여서, 로그인하지 않은 상태에서 이 페이지에 액세스하면, ①의 화면으로 돌아가게 되어 있습니다
끝
이상으로 AOuth 인증 서버를 만들어 보아 인증·인가의 구조를 배워 본 정리는 끝이 됩니다.
의미를 배우는 것은 선인의 기사도 있어, 만들어 보아 제대로 이해하는 것은 꽤 힘들군요··
Reference
이 문제에 관하여(인증 허가에 대해 배운 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moehiko/items/2c4a253b4acac7b8bd72
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
인증은 그 사람이 그 사람임을 확인하는 행위입니다.
포인트로서는, 인증과는 어디까지나 확인만에 머물러, 그 사람에게 있는 권한과는 관계가 없습니다.
예를 들어, 회사에 따라서는 사원증과 회사에 입관할 수 있는 자기 카드가 나뉘어 있을 수 있습니다.
직원 증서는 그 사람이 회사 직원임을 증명할 수 있지만,
자기 카드를 집에 잊어버린 경우 입장은 불가능합니다.
인가(authorization)란
인가란 그 사람에게 권한을 부여하는 행위입니다.
앞의 예에서 말하면, 자기 카드를 자신이 아닌 다른 사람이 입수한 경우,
그 사람이 「사원의 ○○씨인가」와는 관계없이 회사에 입관할 수 있어 버립니다.
「사원의 ○○씨이다」와, ○○씨가 소속하는 「회사에 입관할 수 있다」는 각각, 「인증」·「인가」라는 의미에서는 관계는 없습니다.
실제로 만들어 보자
어느 정도 의미를 잡은 곳에서 실제로 만들고 확인하기 위해 오레올레 OAuth 인증을 실시하는 프로바이더와,
프로바이더 서버로 허가된 후에 이용할 수 있는 클라이언트 서버를 만들어 보았습니다
하고 싶은 것은 아래와 같은 이미지
구축의 흐름은 이쪽에 기재하고 있습니다.
두 서버 모두 local로 시작하고 공급자 서버는 300포트, Clients 서버는 3001포트에서 실행 중입니다. 이후의 내용은, 모두 아래 페이지에서 구축한 어플리케이션상에서 동작하는 것을 상정하고 있습니다.
htps : // 코 m / 모에 히코 / ms / 300dc 4d8f70660bcd1
①클라이언트 서버: 인가 서버에 액세스
먼저 Client 서버에 액세스합니다.
http://localhost:3001/users/sign_in
Sign in with Mock을 클릭하면 공급자 서버의 인증을 요청하는 화면으로 이동합니다.
※이번은 「Mock」가 다른 AOuth 인증으로 말하는 곳의 Facebook이라고 생각해 주세요
② 제공자 서버: 인증
아래 페이지로 이동하여 공급자 서버에서 인증을 수행하기 위해 인증을 수행합니다.
http://localhost:3000/users/sign_in
화면은 같습니다만, 이쪽은 프로바이더 서버측의 것입니다.
③ 공급자 서버: 계정에 권한 부여
승인을 요청하는 페이지로 전환합니다.
http://localhost:3000/oauth/authorize?client_id=xxxxx&redirect_uri=http%3A%2F%2Flocalhost%3A3001%2Fusers%2Fauth%2Fmock%2Fcallback&response_type=code&state=xxxxx
인증 후 로그인한 계정에 mock을 사용하여 클라이언트 서버에 액세스할 수 있는 권한을 부여할지 묻는 메시지가 표시됩니다.
④ 제공자 서버 → 클라이언트 서버로 리디렉션
권한을 부여하면 클라이언트 서버로 리디렉션됩니다.
http://localhost:3001/home
클라이언트 서버로 리디렉션되어 콘텐츠가 표시되었습니다.
덧붙여서, 로그인하지 않은 상태에서 이 페이지에 액세스하면, ①의 화면으로 돌아가게 되어 있습니다
끝
이상으로 AOuth 인증 서버를 만들어 보아 인증·인가의 구조를 배워 본 정리는 끝이 됩니다.
의미를 배우는 것은 선인의 기사도 있어, 만들어 보아 제대로 이해하는 것은 꽤 힘들군요··
Reference
이 문제에 관하여(인증 허가에 대해 배운 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moehiko/items/2c4a253b4acac7b8bd72
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
어느 정도 의미를 잡은 곳에서 실제로 만들고 확인하기 위해 오레올레 OAuth 인증을 실시하는 프로바이더와,
프로바이더 서버로 허가된 후에 이용할 수 있는 클라이언트 서버를 만들어 보았습니다
하고 싶은 것은 아래와 같은 이미지
구축의 흐름은 이쪽에 기재하고 있습니다.
두 서버 모두 local로 시작하고 공급자 서버는 300포트, Clients 서버는 3001포트에서 실행 중입니다. 이후의 내용은, 모두 아래 페이지에서 구축한 어플리케이션상에서 동작하는 것을 상정하고 있습니다.
htps : // 코 m / 모에 히코 / ms / 300dc 4d8f70660bcd1
①클라이언트 서버: 인가 서버에 액세스
먼저 Client 서버에 액세스합니다.
http://localhost:3001/users/sign_in
Sign in with Mock을 클릭하면 공급자 서버의 인증을 요청하는 화면으로 이동합니다.
※이번은 「Mock」가 다른 AOuth 인증으로 말하는 곳의 Facebook이라고 생각해 주세요
② 제공자 서버: 인증
아래 페이지로 이동하여 공급자 서버에서 인증을 수행하기 위해 인증을 수행합니다.
http://localhost:3000/users/sign_in
화면은 같습니다만, 이쪽은 프로바이더 서버측의 것입니다.
③ 공급자 서버: 계정에 권한 부여
승인을 요청하는 페이지로 전환합니다.
http://localhost:3000/oauth/authorize?client_id=xxxxx&redirect_uri=http%3A%2F%2Flocalhost%3A3001%2Fusers%2Fauth%2Fmock%2Fcallback&response_type=code&state=xxxxx
인증 후 로그인한 계정에 mock을 사용하여 클라이언트 서버에 액세스할 수 있는 권한을 부여할지 묻는 메시지가 표시됩니다.
④ 제공자 서버 → 클라이언트 서버로 리디렉션
권한을 부여하면 클라이언트 서버로 리디렉션됩니다.
http://localhost:3001/home
클라이언트 서버로 리디렉션되어 콘텐츠가 표시되었습니다.
덧붙여서, 로그인하지 않은 상태에서 이 페이지에 액세스하면, ①의 화면으로 돌아가게 되어 있습니다
끝
이상으로 AOuth 인증 서버를 만들어 보아 인증·인가의 구조를 배워 본 정리는 끝이 됩니다.
의미를 배우는 것은 선인의 기사도 있어, 만들어 보아 제대로 이해하는 것은 꽤 힘들군요··
Reference
이 문제에 관하여(인증 허가에 대해 배운 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moehiko/items/2c4a253b4acac7b8bd72
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
아래 페이지로 이동하여 공급자 서버에서 인증을 수행하기 위해 인증을 수행합니다.
http://localhost:3000/users/sign_in
화면은 같습니다만, 이쪽은 프로바이더 서버측의 것입니다.
③ 공급자 서버: 계정에 권한 부여
승인을 요청하는 페이지로 전환합니다.
http://localhost:3000/oauth/authorize?client_id=xxxxx&redirect_uri=http%3A%2F%2Flocalhost%3A3001%2Fusers%2Fauth%2Fmock%2Fcallback&response_type=code&state=xxxxx
인증 후 로그인한 계정에 mock을 사용하여 클라이언트 서버에 액세스할 수 있는 권한을 부여할지 묻는 메시지가 표시됩니다.
④ 제공자 서버 → 클라이언트 서버로 리디렉션
권한을 부여하면 클라이언트 서버로 리디렉션됩니다.
http://localhost:3001/home
클라이언트 서버로 리디렉션되어 콘텐츠가 표시되었습니다.
덧붙여서, 로그인하지 않은 상태에서 이 페이지에 액세스하면, ①의 화면으로 돌아가게 되어 있습니다
끝
이상으로 AOuth 인증 서버를 만들어 보아 인증·인가의 구조를 배워 본 정리는 끝이 됩니다.
의미를 배우는 것은 선인의 기사도 있어, 만들어 보아 제대로 이해하는 것은 꽤 힘들군요··
Reference
이 문제에 관하여(인증 허가에 대해 배운 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moehiko/items/2c4a253b4acac7b8bd72
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
권한을 부여하면 클라이언트 서버로 리디렉션됩니다.
http://localhost:3001/home
클라이언트 서버로 리디렉션되어 콘텐츠가 표시되었습니다.
덧붙여서, 로그인하지 않은 상태에서 이 페이지에 액세스하면, ①의 화면으로 돌아가게 되어 있습니다
끝
이상으로 AOuth 인증 서버를 만들어 보아 인증·인가의 구조를 배워 본 정리는 끝이 됩니다.
의미를 배우는 것은 선인의 기사도 있어, 만들어 보아 제대로 이해하는 것은 꽤 힘들군요··
Reference
이 문제에 관하여(인증 허가에 대해 배운 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/moehiko/items/2c4a253b4acac7b8bd72
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(인증 허가에 대해 배운 요약), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/moehiko/items/2c4a253b4acac7b8bd72텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)