Monday, January 17, 2011

Google Apps Engine의 Google Login Account


Google Apps Engine은 기본적으로 Google Account를 이용한 Login을 허용합니다.

Google Apps Engine이 제공하는 API (com.google.apiengine.api.users) 에서는 로그인 및 회원의 Nick Name, Email Address 정도만을 가져올 수 있습니다.

Google이 제공하는 OpenID를 사용하면 좀 더 많은 정보를 가져 올 수 있을까요?

Google OpenID에서 제공하는 information 입니다 (http://code.google.com/intl/ko/apis/accounts/docs/OpenID.html)

user's login identifier, as openid.claimed_id
requested user attributes, as openid.ax.value.email (if requested)
authorized OAuth request token, as openid.ext2.request_token (if requested)


아래와 같이 Country, Email, Name, Languange 정도는 가져 올 수 있는 듯 합니다.

openid.ax.required
(required) Specifies the attribute being requested. Valid values include:

"country"
"email"
"firstname"
'language"
"lastname"

To request multiple attributes, set this parameter to a comma-delimited list of attributes.


Google Apps Engine의 UserAPI에 비해선 Name, Country, Language 정도가 더 늘어났네요. 실제로 NickName이 Name과 동일하다고 보면 Country와 Language 정보가 더 알 수 있는 듯 한데..큰 의미가 있을 수 있을까요?

서비스마다 다르겠죠?

다만 Google Open ID를 사용하기 위한 귀찮은 Third-party 등록절차는 안 거쳐도 되니깐, OpenID보다는 Google Apps Engine의 UserAPI를 사용하는게 낫겠네요..

간단한 회원서비스라면 이 정도면 충분하겠지만, 좀 더 강력한 회원관리 정책을 쓰고 싶다면 별도의 회원가입 및 인증 Process를 만들어야 될 듯 합니다. 아니면 Open ID로 넘어온 Email 정보를 Primary Key로 하여 추가적인 Information을 Google이나 다른 방식으로 긁어와야 겠죠.

No comments: