본문 바로가기

sfdc_세일즈포스 시작

OAuth 인증

세일즈포스 공부하다 보니 로그인할때 다른 싸이트와 연결되는 부분이 많아져서 

SSO나 이런거 어케 처리하나 봤더니 OAuth라는걸 이용하네여.

고거 한번 쓱 살펴봅시다

 

공식싸이트  oauth.net

인터넷 사용자들이 비밀번호를 제공하지 않고

다른 웹싸이트상의 자신들의 정보에 대해 접근권한을 부여할 수 있는 공통적인 수단으로 사용되는

접근위임을 위한 개방형 표준

즉 회원가입할 필요없이 사용자 정보를 제3자에게서 인증받고 이 인증을 신뢰하고 회원가입으로 간주

네이버로그인같은거

- OAuth 2.0의 주요 Role

resource owner: 유저. 사용자. 예) 구글에 가입하여 온갖 정보를 구글에 보관한 사람

resource server: 정보를 제공해 주는 서버. 예) 구글

client: resource owner의 정보를 resource server로부터 받아서 사용하고자 하는 중간자. 예) 구글과 연동하여 사용자에게 좋은 기능을 제공하고자 하는 제3의 서비스

authorization server: access token을 발급해 주는 서버. 예) 구글. 개념도 그릴때는 resource server와 authorization server를 한 개념으로 묶어서 그리는게 깔끔할 듯.

 

- 전체적인 흐름

1) client는 resource를 가지고 있는 서비스에서 사전에 client id, client secret을 발급받아서 잘 보관해야 한다.

2) resource owner가 client에 접속하면, client는 resource owner를 resource 서비스의 인증 화면으로 보낸다.(인증화면에서 resource owner는 로그인도 하고, client가 사용하려고 하는 정보의 scope도 확인한다.)

3) 인증화면을 통과하면, client가 지정한 redirect url로 돌아오는데 이때 authorization code를 받아온다.

4) client는 이 code와 client id, client secret을 가지고 authorization server에 access token을 요청하여 받아온다.

5) client는 access token을 가지고 resource server로부터 resource owner의 정보들을 받아올 수 있다.

Enable OAuth Settings for API Integration

OAuth Authorization Flows

help.salesforce.com/articleView?id=sf.connected_app_create_api_integration.htm&type=5

 

Help | Training | Salesforce

 

help.salesforce.com