DotNetOpenAuth для ранее авторизованного сайта

У меня была большая удача с DotNetOpenAuth, чтобы сделать 3 авторизации на ножках. В настоящее время я соединяю и вытягиваю в некоторых данных Google.

Мой вопрос состоит в том, что, по-видимому, если у Вас уже есть auth'd мое веб-приложение в Вашу учетную запись Google, когда я звоню

var accessTokenResponse = google.ProcessUserAuthorization();

Это в основном ничего не делает. Как я получаю маркер для учетной записи, которая уже имеет auth'd мое приложение? Я не вижу обратного вызова никакого вида.

Я подпираю это до своего незнания о OAuth в целом.

1
задан skaffman 16 June 2010 в 14:34
поделиться

1 ответ

Вы должны заменить пример InMemoryTokenManager, включенный в DotNetOpenAuth, на собственную реализацию IConsumerTokenManager, которая хранит токены доступа и секреты в вашей базе данных. Затем вы передаете свой экземпляр этого интерфейса классу WebConsumer, и он будет получать все входящие токены и секреты.

Либо при вызове ProcessUserAuthorization, либо внутри вашего класса менеджера токенов, вы также должны связать сохраненные вами токены доступа с учетной записью пользователя, который в данный момент вошел на ваш веб-сайт.

Затем, когда пользователь в следующий раз посетит ваш сайт, вы найдете его учетную запись пользователя в своей базе данных, чтобы получить его маркер доступа. И вы используете его для будущих запросов. Ваш IConsumerTokenManager предоставит связанный с ним секрет маркера по мере необходимости, и жизнь будет хороша.

2
ответ дан 2 September 2019 в 23:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: