Пользовательский идентификатор при регистрации Fitbit - PullRequest
0 голосов
/ 06 января 2019

Для моей системы у моих пользователей есть свой уникальный идентификатор (participant_id), который я им предоставил.

У меня есть флеш-сервер, который регистрирует моих пользователей в Fitbit.

@app.route('/fitbit_authorize')
def homepage(): #probably need to send participant_id here
    return '<a href="%s">Authenticate with fitbit</a>' % FITBIT_AUTHORIZATION_URL

Fitbit отправляет почтовый запрос об успешности регистрации моего участника по следующему адресу, где я получаю их токены доступа / обновления пользователя для oauth:

@app.route('/fitbit_callback')
def fitbit_callback():
    error = request.args.get('error', '')
    if error:
        return "Error: " + error
    state = request.args.get('state', '')
    code = request.args.get('code')
    token = fitbit_access.get_full_token(code)

Мне было интересно, как я могу получить исходный идентификатор автора (participant_id) в обратном вызове. Могу ли я передать дополнительную информацию в процессе авторизации на fitbit или как мне будет лучше получить их participant_id?

1 Ответ

0 голосов
/ 07 января 2019

Хороший вопрос.

Oauth2 позволяет вам включить информацию о состоянии в запрос авторизации --- Вы можете включить participant_id в параметр состояния: https://dev.fitbit.com/build/reference/web-api/oauth2/

state : Предоставляет любое состояние, которое может быть полезным для вашего приложения. когда пользователь перенаправляется обратно в ваше приложение. Этот параметр будет добавлен в URI перенаправления точно так же, как ваше приложение определяет. Fitbit настоятельно рекомендует включить токен против подделки в этом параметре и подтверждая его значение в перенаправлении для смягчения против подделки межсайтовых запросов (CSRF).

Помимо предоставления member_id, вы должны предоставить токен против подделки, помогающий бороться с CSRF.

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