---
title: LinkedIn으로 가입하기
slug: docs-kr/platform/sign-in-with-linkedin
description: Back4App과 함께 LinkedIn 로그인을 설정하고 OAuth 인증을 구현합니다.
image: https://www.back4app.com/_public/img/back4app-og.png
createdAt: 2024-02-02T15:29:44.156Z
---

# LinkedIn으로 로그인하기 튜토리얼

## 소개

LinkedIn으로 로그인을 사용하면 사용자가 LinkedIn 계정을 사용하여 앱에 로그인할 수 있습니다.

## 전제 조건

:::hint{type="info"}
**이 튜토리얼을 완료하려면 다음이 필요합니다:**

- Back4App에서 생성된 앱
- 다음 링크를 참조하세요 [새 앱 만들기 튜토리얼](https://www.back4app.com/docs/get-started/new-parse-app) Back4App에서 앱을 만드는 방법을 배우세요.
- Back4App 앱을 위한 서브도메인 설정하기
- 다음 링크를 참조하세요 [웹 호스팅 및 실시간 쿼리 활성화](https://www.back4app.com/docs/platform/activating-web-hosting) Back4App에서 서브도메인을 만드는 방법을 배우세요.
- &#x20;[LinkedIn 개발자 계정](https://www.linkedin.com/developers)이 필요합니다.
:::

## 1 - 새로운 Back4App 앱 만들기

우선, Back4App에 기존 앱이 생성되어 있는지 확인해야 합니다. 그러나 새로운 사용자라면 [이 튜토리얼](https://www.back4app.com/docs/get-started/new-parse-app)을 확인하여 앱을 만드는 방법을 배울 수 있습니다.

## 2 - 새로운 LinkedIn 앱 만들기

당신의 [LinkedIn 개발자 계정](https://www.linkedin.com/developers)에 로그인하고 <font color="#2166ae">`앱 만들기`</font>를 클릭한 후 <font color="#2166ae">`OAuth 클라이언트 ID`</font>

![](https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/Se8FVnj5N-hwCKeFkccyQ_image.png)

앱 이름을 선택하고 <font color="#2166ae">`비즈니스 이메일`</font> 및 <font color="#2166ae">`앱 로고`</font>. 약관에 동의하고 <font color="#2166ae">`앱 만들기`</font>

::Image[]{src="https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/xAl9LVxEfGKKXPq3HUPgm_image.png" size="80" width="519" height="916" position="center" showCaption="false"}

새로 생성한 앱에서 <font color="#2166ae">`확인`</font>을 클릭하여 앱의 소유권을 확인하세요. 확인하려면 LinkedIn 페이지의 소유자 또는 관리자여야 합니다.

::Image[]{src="https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/fQsUI-o0AjyznmSYsKPhB_image.png" size="70" width="521" height="721" position="center" showCaption="false"}

확인 페이지에서 <font color="#2166ae">`URL 생성`</font>

::Image[]{src="https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/LgtvzoOBG_PB3MASZ-KQZ_image.png" size="80" width="494" height="419" position="center" showCaption="false"}

생성된 <font color="#2166ae">`확인 URL`</font>을 LinkedIn의 회사 페이지 관리자 또는 소유자 계정을 사용하여 방문하세요.

::Image[]{src="https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/cG24gUichkV2tSLLkRtri_image.png" size="80" width="492" height="419" position="center" showCaption="false"}

&#x20;<font color="#2166ae">`확인 승인`</font>

![](https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/uuv4oVWSDAVSLudidLKgM_image.png)

앱이 확인되었는지 확인하세요.

![](https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/HbiMmKh6v0UgmknjUBTLW_image.png)

앱에서 <font color="#2166ae">`인증`</font> 탭으로 가서 <font color="#2166ae">`리다이렉트 URL`</font> 필드를 채우고 <font color="#2166ae">`업데이트`</font>

::Image[]{src="https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/z_8wla-sJ34Dh8JcwOabQ_image.png" size="70" width="517" height="676" position="center" showCaption="false"}

## 3 - 코드를 가져오기

다음 URL을 방문하여 <font color="#2166ae">`CLIENT_ID`</font>, <font color="#2166ae">`REDIRECT_URL`</font>, 및 <font color="#2166ae">`A_RANDOM_STRING`</font>을(를) 생성한 값으로 변경하세요.
무작위 문자열은 CSRF 공격을 방지하기 위한 것입니다.

:::BlockQuote
https\://www\.linkedin.com/oauth/v2/authorization?response\_type=code\&client\_id=CLIENT\_ID\&redirect\_uri=REDIRECT\_URL\&state=A\_RANDOM\_STRING\&scope=r\_emailaddress
:::

귀하의 LinkedIn 계정으로 로그인하면 리디렉션된 웹사이트의 URL에 코드가 포함됩니다:

![](https://api.archbee.com/api/optimize/yD3zCY-NNBBIfd0uqcfR5/GjE0lzofVYRwFQXS5Fscc_image.png)

URL의 코드 부분만 복사하고 다음 CURL 명령을 실행하여 값을 바꾸십시오 <font color="#2166ae">`YOUR_CODE`</font>, <font color="#2166ae">`YOUR_CLIENT_ID`</font>, <font color="#2166ae">`YOUR_CLIENT_SECRET`</font>, 그리고 <font color="#2166ae">`YOUR_REDIRECT_URI`</font> 귀하의 애플리케이션 값으로 대체하십시오.

```curl
1   curl -X POST \
2     https://www.linkedin.com/oauth/v2/accessToken \
3     -H 'cache-control: no-cache' \
4     -H 'content-type: application/x-www-form-urlencoded' \
5     -d 'client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET&redirect_uri=YOUR_REDIRECT_URI&code=YOUR_CODE&grant_type=authorization_code'

```

실행하면 액세스 토큰을 가져와야 합니다:

**기억하세요**: 코드는 한 번만 사용할 수 있습니다. 오류가 발생하거나 토큰을 사용하지 않으면 코드를 다시 생성해야 다시 실행할 수 있습니다.

## 4 - 개발 시작하기

LinkedIn으로 로그인 설정이 완료되었으므로 개발 프로세스를 시작할 수 있습니다.
AUTHDATA의 형식은 다음과 같습니다:

```json
1   {
2     "linkedin": {
3       "id": "user's LinkedIn id (string)",
4       "access_token": "an authorized LinkedIn access token for the user",
5       "is_mobile_sdk": true|false // set to true if you acquired the token through LinkedIn mobile SDK
6     }
7   }
```

여기 iOS SDK를 위한 메서드가 있습니다:

```swift
1   PFUser.logInWithAuthType(inBackground: "linkedin", authData: ["access_token":tokenString, "id": user, "is_mobile_sdk": true]).continueWith { task -> Any? in
2    
3   }
```

그리고 Android SDK를 위한 메서드는 다음과 같습니다:

```java
1   Map<string, string, bool> authData = new HashMap<string, string, bool>(); 
2   authData.put("access_token", tokenString);
3   authData.put("id", user);
4   authData.put("is_mobile_sdk", true);
5   Task<ParseUser> t = ParseUser.logInWithInBackground("google", authData);
6				                    t.continueWith(new Continuation<ParseUser, Void>() {
7					                        public Void then(Task task) throws Exception {
8						                            if (task.isCancelled()) {
9							                                Log.w(TAG, "Task cancelled");
10						                            } else if (task.isFaulted()) {
11							                                Log.w(TAG, "Save FAIL" + task.getError());
12							                                Utilities.showToast(getResources().getString(R.string.errorLogin) + task.getError(), MainActivity.this);
13						                            } else {
14							                                // the object was saved successfully.
15							                                ParseUser user = (ParseUser)task.getResult();
16							                                Log.w(TAG, "Success " + user.getObjectId() + " " + user.getUsername() + " " + user.getEmail() + " " + user.getSessionToken());
17                  }
18               }
19            }
```

