2014-01-17 2 views
5

link에서 iOS 용 Google+ SDK 사용법을보고 프로젝트를 구성하고 내 애플리케이션에 액세스 토큰을 얻도록 권한을 부여 할 수 있습니다. 그러나 장치의 토큰을 소비하여 이름, 전자 메일 등을 얻고 싶지 않습니다. 안드로이드에서와 같이 임시 액세스 코드 (OAuth2 토큰에 대해 변경 될 수 있음) 또는 ID 토큰을 얻고 싶습니다. 신청. Google cross-client identity에 의해 호출됩니다.iPhone Google+ 로그인 및 OAuth2 백엔드

아이디어는 백엔드 서버가이 교환 코드를 수신하고 액세스 토큰을 생성하여 사용자 프로필, 전자 메일 등을 가져 오는 것입니다. 그런 다음 사용자는이 정보로 등록됩니다. 그러나 사용 된 응용 프로그램 ID는 iOS 응용 프로그램의 ID이므로 iOS 응용 프로그램에서 생성되는 액세스 토큰은 응용 프로그램 자체에서만 사용할 수 있습니다. 서버 응용 프로그램 ID로 응용 프로그램 ID를 변경하려고했지만 redirect_uri_mismatch가 발생했습니다.

서버에서 직접 액세스 토큰을 사용하려고하면 서버 클라이언트 ID가 애플리케이션 클라이언트 ID와 같지 않으므로 Google_OAuth_Exception이 발생합니다.

웹 페이지를 여는 방식으로 다른 접근 방식을 사용하고 있지만 기본 Google+ 로그인 프로세스를 사용하고 싶습니다.

아이디어가 있으십니까?

+0

이것이 아직 구현되었는지 알고 싶습니까? 어떤 예도 있습니까? 나는 아직도 그것을 작동시킬 수 없다. – kos

답변

1

신속한 답변은 클라우드 콘솔에서 추가 리디렉션 URL을 구성하는 것일 수 있습니다.

+0

더 자세히 설명해 주시겠습니까? – Abhishek

3

이 기능을 개선하기 위해 노력하고 있습니다. 이렇게하면 응용 프로그램이 오프라인 액세스를 저장하기 위해 서버에 보낼 수있는 "코드"를 얻을 수 있습니다.

죄송합니다. 죄송합니다. 정확한 날짜가 지정되지 않아 죄송합니다. 죄송합니다.

2

Naveen의 답변은 정확하지만 기본적인 프로필 정보와 이메일 주소가 필요한 경우 대신 id 토큰을 사용할 수 있습니다. 여기에는 전자 메일 주소 (전자 메일 범위를 요청한 경우)와 코드 또는 액세스 토큰을 전달하지 않고도 Google+ API에서 공용 프로필 정보를 쿼리하는 데 사용할 수있는 사용자 ID가 포함됩니다. 아이디 토큰을 검색하는 것은 정말 쉬운

[GPPSignIn sharedInstance] setHomeServerClientID:@"911581857976.apps.googleusercontent.com"]; 

- (void) finishedWithAuth:(GTMOAuth2Authentication *)auth error:(NSError *)error { 
    if (error) { 
    NSLog(@"Error: %@", error); 
    return; 
    } 
    NSLog(@"ID Token: %@", [[GPPSignIn sharedInstance] idToken]); 
} 
내가 도움이 될 한참 게시 블로그에서 더 이상 예, 쓴

이 사용할 수있는 오늘로서 http://www.riskcompletefailure.com/2013/11/client-server-authentication-with-id.html

+0

안녕하세요 이안! Google은 GitHub에서 최근에 Google PHP SDK (스코프)에 관해 이야기했습니다. 여기에서도 만나서 반갑습니다. 그리고이 새로운 기능을 기대합니다. ID 토큰은 백엔드에서 등록 된 사용자에 대한 권한 요청을 다시 피하기 위해 사용됩니다. –