2

Я воспользовался .NET Quickstart учебным пособием, чтобы получить список имен дисков с Google Диска.Как изменить аутентифицированных пользователей на API Google Диска

Этот код работает нормально. однако, я хочу знать, могу ли я снова принудительно повторить аутентификацию (что-то вроде выхода из системы, но я думаю, что Google не называет это так).

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

(Если я запустил приложение в первый раз или предыдущий сеанс был исчерпан, появится страница согласия Google, чтобы я мог выбрать или добавить определенную учетную запись для аутентификации).

Я использую OAuth2, а платформа - приложение формы .NET.

ответ

0

Это помогает, если вы публикуете все свои пароли, а затем просто связываете учебник, которым вы пользовались.

Способ работы клиентской библиотеки dotnet Google API заключается в том, что он хранит учетные данные пользователя в хранилище данных на вашем компьютере. В следующем разделе кода «пользователь» означает учетные данные пользователей, если вы измените это, вы можете заставить его обмениваться между пользователями. Если у пользователя нет учетных данных, он появится и снова попросит вас проверить подлинность. Для того, чтобы полностью понять, как FileData магазин работает, я рекомендую вам прочитать мой учебник по этой теме Google .net – FileDatastore demystified

credential = GoogleWebAuthorizationBroker.AuthorizeAsync(
       GoogleClientSecrets.Load(stream).Secrets, 
       Scopes, 
       "user", 
       CancellationToken.None, 
       new FileDataStore(credPath, true)).Result; 

В мире Oauth там действительно нет такого понятия, как выходить из системы. С технической точки зрения у вас есть доступ к данным пользователей, пока они не удалят этот доступ или что-то не произойдет с вашим токеном обновления. Вам будет нужно изменить «пользователь» в вашем коде, чтобы он выглядел так, что пользователь вышел на ваш сайт. Единственное, что близко к этому, - это Revoking токен, который в основном удаляет ваш доступ к данным пользователей. пользователь снова должен будет аутентифицировать ваше приложение, если они снова захотят войти в систему.

+0

причина, по которой я не копировал код, просто потому, что он действительно такой же, как и предоставленная ссылка ... вы имеете в виду, если бы я изменил строку «пользователь» на динамическую временную метку, которая будет определена при входе в систему моя система. он будет делать трюк, чтобы повторная аутентификация была сделана снова после повторного входа в систему или выхода из системы? спасибо – SKLTFZ

+0

да технически это было бы. но на вашем компьютере вы получите много хранилищ данных. и по-прежнему существует потенциал более одного пользователя. – DaImTo

+0

Я действительно могу добиться повторной аутентификации, используя метод timestamp во время входа в систему/выхода из системы. однако, вы показали свою озабоченность, у вас есть лучшее решение для этого? (я думаю, что большинство людей, использующих этот API, действительно действительно нуждаются в удобном способе для повторной аутентификации, и, как ни удивительно, в статье не так много разговоров по статье) – SKLTFZ

Смежные вопросы