Как получить постоянный доступ к учетной записи Google пользователя? - PullRequest
3 голосов
/ 28 ноября 2010

Мое приложение получает информацию из календарей Google моих пользователей.Пользователям уже нужно войти в мое приложение, поэтому они раздражают, что им нужно «Предоставить доступ» своей учетной записи Google хотя бы один раз за сеанс (в настоящее время использующий OAuth).

Есть ли способ получитьпостоянный (или более близкий к нему) грант?

Я даже открыт для использования openID в качестве основной аутентификации.Поможет ли это?

Я полагаю, что GData API предлагает протокол ClientLogin, который потребовал бы от меня сохранения информации для входа в систему пользователей, и мне это неудобно, хотя, если это сводится к этому, я полагаю, что этолучше альтернативы.

Ответы [ 3 ]

3 голосов
/ 28 ноября 2010

oAuth-токены, сгенерированные один раз, не истекают НИКОГДА, если пользователь / приложение сами их не отзовут.Просто возьмите токен доступа и получите доступ к секретному токену один раз в первый раз, когда пользователь регистрируется в вашем приложении.Храните его локально и используйте для запроса GDATA Api всякий раз, когда вам нужно.

Вам не нужно запрашивать токены доступа каждый раз, когда пользователи снова входят в систему.

2 голосов
/ 28 ноября 2010

Поскольку вы используете OAuth, я понимаю, что ваше приложение является веб-приложением?Что ж, OAuth - это причина, по которой у вас возникает проблема, которую вы описываете, и это не совсем проблема, а особенность API.Смотрите, соединения OAuth имеют цифровую подпись, поэтому каждый раз, когда пользователь пытается войти, они перенаправляются на страницу OAuthAuthorizeToken.

Для решения ваших проблем используйте AuthSub вместо OAuth.Это менее безопасно, но более удобно.Также оно позволяет вашему приложению просто получать токен, говорящий о том, что пользователь был проверен Goodle, поэтому вам не нужно НИКОГДА хранить эту информацию о ваших пользователях таким образом.

Надеюсь, это поможет!

1 голос
/ 21 декабря 2010

Существует гибридное решение Oauth / OpenID (см. источник ) - в основном вы запрашиваете определенный охват доступ, получаете базовые данные пользователя и запрашивает токен в возвратите, затем вы обменяете его на токен аутентификации и сохраните его для будущего использования.

...