---
title: 인스타그램 가입하기
slug: docs-kr/platform/instagram-oauth-tutorial
description: 인스타그램 OAuth 설정을 통해 앱에서 안전한 사용자 인증을 구현하는 방법을 배우세요.
image: https://www.back4app.com/_public/img/back4app-og.png
createdAt: 2024-02-02T15:01:20.780Z
---

# 인스타그램 OAuth 튜토리얼

## 소개

인스타그램 OAuth는 사용자가 OAuth를 통해 인스타그램 계정을 사용하여 앱에 로그인할 수 있도록 합니다.

## 전제 조건

:::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;[인스타그램 개발자 계정](https://developers.facebook.com/docs/instagram).
:::

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

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

## 2 - 새로운 인스타그램 앱 클라이언트 만들기

당신의 [인스타그램 개발자 계정](https://www.instagram.com/developer/)에 로그인하고 개발자로 등록하세요.
웹사이트, 전화번호 및 앱에 대한 설명을 입력하세요. 진행하려면 약관에 동의하세요.

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

개요로 이동합니다. <font color="#2166ae">`애플리케이션 등록`</font>

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

클릭하여 <font color="#2166ae">`새 클라이언트 등록`</font>

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

다음 항목을 작성합니다: <font color="#2166ae">`애플리케이션 이름`</font>, <font color="#2166ae">`설명`</font>, <font color="#2166ae">`회사 이름`</font>, <font color="#2166ae">`웹사이트 URL`</font>, <font color="#2166ae">`리디렉션 URI`</font>, <font color="#2166ae">`개인정보 처리방침 URL`</font>, 및 <font color="#2166ae">`연락처 이메일`</font>.

유효한 <font color="#2166ae">`리디렉션 URI`</font>, 액세스 토큰을 검색하려는 경우, 이 필드를 비워둘 수 있습니다.

:::BlockQuote
http\://localhost
:::

그렇지 않으면, 리디렉션을 위해 프로덕션 URI를 사용해야 합니다.

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

이 시점에서 아래 이미지와 같은 클라이언트를 가져야 합니다.

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

“<font color="#2166ae">`관리`</font>”를 클릭하고 <font color="#2166ae">`보안`</font> 탭에서 <font color="#2166ae">`암시적 OAuth 비활성화`</font>의 선택을 해제하세요.

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

## 3 - 토큰을 가져오기

“<font color="#2166ae">`리디렉션 URI`</font>”를 <font color="#2166ae">`localhost`</font>로 설정했다면, 토큰을 가져오는 방법은 두 가지가 있습니다.
첫 번째 방법은 원하는 브라우저를 사용하여 다음 URL로 이동하는 것입니다:

[https://api.instagram.com/oauth/authorize/?client\_id=CLIENT-ID\&redirect\_uri=REDIRECT-URI\&response\_type=code](https://api.instagram.com/oauth/authorize/?client_id=CLIENT-ID\&redirect_uri=REDIRECT-URI\&response_type=code)

단지 <font color="#2166ae">`CLIENT-ID`</font>와 <font color="#2166ae">`REDIRECT-URI`</font>를 새로 생성한 클라이언트에서 얻은 값으로 변경하세요.
이것은 잘못된 페이지로 리디렉션되지만, URL에서 액세스 토큰을 보여줄 것입니다:

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

토큰을 검색하는 다른 방법은 다음 CURL 명령을 실행하는 것입니다. <font color="#2166ae">`CLIENT-ID`</font>, <font color="#2166ae">`CLIENT-SECRET`</font>, 그리고 <font color="#2166ae">`REDIRECT-URI`</font>를 당신의 값으로 교체하여 실행하세요:

```curl
1   curl \-F 'client_id=CLIENT-ID' \
2       -F 'client_secret=CLIENT-SECRET' \
3       -F 'grant_type=authorization_code' \
4       -F 'redirect_uri=REDIRECT-URI' \
5       -F 'code=CODE' \
6       https://api.instagram.com/oauth/access_token
```

해당 명령은 귀하의 액세스 토큰도 출력합니다.

## 4 - 개발 시작하기

이제 Instagram으로 로그인 설정이 완료되었으므로, 인증을 위해 가져온 액세스 토큰을 전달하여 개발 프로세스를 시작할 수 있습니다.
AUTHDATA의 형식은 다음과 같습니다:

```json
1   {
2     "instagram": {
3       "id": "user's Instagram id (string)",
4       "access_token": "an authorized Instagram access token for the user"
5     }
6   }
```

여기 iOS SDK를 위한 방법이 있습니다:

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

그리고 여기 Android SDK를 위한 방법이 있습니다:

```java
1   Map<string, string> authData = new HashMap<string, string>(); 
2   authData.put("access_token", tokenString);
3   authData.put("id", user);
4   ParseUser.logInWithInBackground("instagram", authData){
5
6   }
```

