A라는 사이트에서 login 은 해서 cookie 가 만들어졌다. 이때 credential 을 include 하면 이 cookie 가 request 시점에 날라간다.
이 때 B라는 사이트에서 login을 한다. 그런데 같은 domain 에 대해서 만들기 때문에, A 라는 사이트에서 사용하던 cookie 가 browser에서 지워지고, 새롭게 B site 에서 사용할 cookie 가 만들어진다.
cookie 는 도메인 별로 unique 하게 존재하지만, 이것을 해당 domain 외의 domain 에서 access 하는 것 또한 same-origin policy 를 따라야 해서, browser에서 다른 site A로 request를 보낼때 credential(cookie)이 없는 채로 날라간다.
즉, domain 설정을 잘 해줘야 2 site 에서 동시에 cookie 를 사용할 때 문제가 없다.
일반적으로 ref.1 에 나와있듯이 ’주요 노드(primary nodes)를 연결하는
고용량 통신 시설(high capacity communication facilities)’을 가리키는
용어이다.
기본적으로 backbone network 는 개념적인 이야기다. 그러므로 일반적인
뜻보다는 좀 더 작은 용량의 시설도 sub-network들을 연결한다면 백본망이라
부를 수 있다.
만약 내가 ISP 로 부터 인터넷 선을 하나 할당받고, 이것을 허브를
이용해서 사무실 2개에 대해 각각 케이블을 뽑고, 그 케이블마다 공유기에
연결해서 각각 network 를 구성했다고 하자. 그렇다면 나의 백본망은 이 NAT
와 각 사무실로 뻗어나가는 2개의 유선일 것이다.
통신사업자(ISP) 의 백본
ISP 의 백본은 우리가 일반적으로 생각하는 백본이라고 생각하면 될 것
같다. 다음 기사를 통해 대략적으로 어떻게 구성되어 있는지 확인해 볼 수
있다.
-- 같은 '분'(minute)에 실행된 job 들
SELECT * FROM (
SELECT count(his) cnt, t1.* FROM (
SELECT DATE_FORMAT(createdAt, '%j %H:%i') AS his, DATE_FORMAT(createdAt, '%H:%i:%S.%f'), createdAt, updatedAt
FROM jobrunr_jobs
WHERE recurringJobId
IN('myjob.MyJobBackgroundJobProcessor.runEveryMinuteExample()')
ORDER BY createdAt DESC
) AS t1
GROUP BY t1.his
) AS tt1 WHERE cnt > 1
;
OAuth 2.0 은 유저들이 application 과 특정data 를 공유할 수 있게
해준다. 공유하면서도 그들의 user명과 비밀번호와 다른 개인정보를 노출하지
않는다.
예를 들어 OAuth 2.0 은 user의 Google Drive에 file 을 저장하기 위해 그
해당 user로 부터 permission(허락)을 획득하게 된다.
OAuth 2.0 flow 는 implicit grant flow (암묵적 허락 흐름)라고 부른다.
이것은 ’user 가 application 에 있을때만 API들에 접근’하는
application들을 위해 만들어졌다. 이 application들은
기밀정보(confidential information)를 저장해 놓을 수 없다.
me: 그래서 access token 만 처음에 받아와서 사용하게 된다. app 등은
Authorization Code 를 받아온 후에 다시 access token 을 받는다. 다음
글들을 읽어보면 된다. Using
OAuth 2.0 for Web Server Applications 를 봐도 알 수 있는데, 이것은
confidential information 을 저장해 놓고 사용하는 app을 위해 design
됐다고 나와 있다.
이 flow에서, app 은 query parameter를 이용하는 Google URL 을 연다. 이
query parameter 는 app 을 구별하고, app 이 필요한 API 접근의 종류를
구별하는 값을 갖고 있다.
현재 브라우저 window 에서 이 URL 을 열거나 popup 으로 열 수 있다.
user 는 Google 에서 인증하고, app이 요청하는 permission 들을 grant
해주게 된다. Google 은 그리고 나서 user 를 app 으로 다시 redirect
시킨다. 이 때 access token 와 함께 redirect 시킨다. app 은 이 access
token 을 확인(verify)하고, API 요청을 만들때 사용된다.
Goolge OAuth 2.0 server
Google API들에 access 하기 위해서 OAuth 2.0 을 사용하는 모든
application은 authorization credential들을 가져야만 한다. 이
authorization credential 은 Google 의 OAuth 2.0 server 가 application 을
판별할 수 있게 해준다.