Могу ли я использовать GOOGLE_APPLICATION_CREDENTIALS вместо определенных настроек почты - PullRequest
0 голосов
/ 25 мая 2018

Я пытаюсь настроить подтверждение по электронной почте через Flask-security, и мне было интересно, смогу ли я использовать GOOGLE_APPLICATION_CREDENTIALS, полученный из https://console.cloud.google.com/apis/credentials/serviceaccountkey, вместо настройки параметров почты (MAIL_SERVER, MAIL_PASSWORD и т. Д.).

Вот мой код:

class BaseConfig:
SQLALCHEMY_COMMIT_ON_TEARDOWN = True
SQLALCHEMY_RECORD_QUERIES = False
SQLALCHEMY_EXPIRE_ON_COMMIT = False

MARSHMALLOW_STRICT = True
MARSHMALLOW_DATEFORMAT = 'rfc'

SECRET_KEY = 'secret_key'
SECURITY_LOGIN_SALT = 'test'
SECURITY_PASSWORD_HASH = 'pbkdf2_sha512'
SECURITY_TRACKABLE = True
SECURITY_PASSWORD_SALT = 'something'
WTF_CSRF_ENABLED = False
SECURITY_REGISTERABLE = True
SECURITY_CONFIRMABLE = True
SECURITY_RECOVERABLE = True
SECURITY_TOKEN_AUTHENTICATION_HEADER = 'Authorization'
MAX_AGE = 86400
GOOGLE_APPLICATION_CREDENTIALS = '\google_credentials_etc.json' 

Спасибо.

1 Ответ

0 голосов
/ 25 мая 2018

GOOGLE_APPLICATION_CREDENTIALS используется клиентскими библиотеками Google и только тогда, когда задано значение переменной среды.Это не имеет никакого отношения к Flask, и клиентские библиотеки не будут автоматически выбирать его из конфигурации Flask.

Вы можете json.loads файл учетной записи службы, а затем извлечь электронную почту, но нет информации о службе или сервера ретрансляции.информация в файле учетных данных.

Что более важно, flask-mail не подключается через oauth2.Он использует SMTP.Я довольно Gmail реле также SMTP.Поэтому, даже если вы каким-то образом получили токен oauth2 из учетной записи службы, вы не сможете использовать его для подключения к серверу ретрансляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...