1

현재 Google 인증을 위해 iOS 앱을 만들 때 Client-ID 만 생성합니다.IOS 앱의 서버 측 액세스를 사용 설정해야 함

iOS-end에서 사용자 (iOS 및 WEb)의 클라이언트 ID를 사용하여 사용자를 인증하고 새로 고침 토큰을 생성합니다.

Google의 문서에 따르면 생성 된 액세스 토큰은 수명이 짧습니다. 따라서 우리는 사용자의 액세스 토큰을 다시 생성해야 할 때마다 Server-end에서 Web-app의 client-id와 client-secret를 사용합니다.

하지만 refresh-token (웹 앱)과 client-secret (web-app)를 사용하여 새 액세스 토큰을 생성하려고 할 때마다 "인증되지 않은 클라이언트"오류가 발생합니다. 즉, 새로 고침 토큰이 Client-ID 및 Client-Secret과 동기화되어 있지 않습니다.

사용자의 access_token을 다시 생성하려면 서버 쪽에서 사용해야하는 client-id와 client-secret의 조합을 알려주십시오. 또한 사용자가 iOS 앱을 생성하는 단계와 사용자를 인증하는 동안 새로 고침 토큰을 생성하는 데 사용할 수있는 웹 앱을 안내 할 수 있습니까?

답변

1

새로 고침 토큰은 특정 클라이언트/앱으로 제한됩니다. iOS 및 웹 앱의 클라이언트 ID가 다르므로 하나의 새로 고침 토큰을 다른 사용자가 사용할 수 없습니다.

iOS 클라이언트 측에서는 동일한 iOS 클라이언트에 대해 새로운 액세스 토큰을 얻으려면 클라이언트 ID와 새로 고침 토큰 (처음에는 동일한 클라이언트에 부여됨) 만 필요합니다. iOS 클라이언트에는 클라이언트 비밀이 없습니다. Google 로그인 iOS SDK를 사용하는 경우 이는 자동으로 처리됩니다.

클라이언트 측에서 로그인 사용자를 백엔드 서버로 전달하려면 https://developers.google.com/identity/sign-in/ios/backend-auth을 참조하십시오.

백엔드 서버에도 액세스 토큰이 필요한 경우 다음과 같이 서버 쪽 액세스를 설정하십시오. https://developers.google.com/identity/sign-in/ios/offline-access