Как использовать MailKit с OAuth?

#c# #.net #oauth #gmail #google-oauth

#c# #.net #oauth #gmail #google-oauth

Вопрос:

Я пишу настольное приложение, которое может получить доступ к GMail через IMAP. Но я не уверен, правильно ли я реализовал OAuth.

MailKit говорит, что я должен использовать учетную запись службы (https://github.com/jstedfast/MailKit/blob/master/FAQ.md#GMailOAuth2)

Но Google говорит, что учетная запись службы должна использоваться только в том случае, если Служба хочет получить доступ к своим собственным данным, а не к данным пользователя. Также я не знаю, как тогда другой пользователь сможет войти в мое приложение.

Я также нашел этот учебник, и он работает у меня (https://www.limilabs.com/blog/oauth2-gmail-imap-installed-applications)

Но я не знаю, является ли это хорошей практикой. Я не могу скрыть «clientSecret», если я хочу развернуть свое приложение. Как это решить? Также пользователь должен вручную скопировать ключ авторизации из браузера в приложение.

Может ли кто-нибудь предложить быстрое, но современное решение? Я бы хотел создать почтовое приложение, а не приложение Oauth ):