Как связать слабого пользователя с учетной записью github? - PullRequest
0 голосов
/ 16 февраля 2019

Я создаю слабого бота и хочу иметь возможность связать слабого пользователя с учетной записью github.

Есть ли способ связать 2 с помощью slack или github API?

Я думал о том, чтобы сохранить пользовательское слабое имя пользователя и имя пользователя github в объекте JSON, то есть:

{
    "slack_username": "JoeBlogs",
    "github_username": "JoeBlogs123"
}

Чтобы сделать это, мне потребуется извлечь имя пользователя пользователя из слабого API, когдаПользователь авторизует приложение / бот.

Я думал, что если я добавлю redirect_url в свое слабое приложение, то оно перенаправит пользователя на http://example.com/redirect, если данные пользователей будут отправлены на этот URL-адрес перенаправления, я смогу сохранить его в базе данных.сортов.

Если бы я затем сделал то же самое с API github, то я мог бы ссылаться на базу данных, чтобы найти слабых пользователей JoeBlogs учетную запись github и наоборот.

Можно ли использовать redirect_url как это?Я не мог видеть отправку пользовательских данных, но, может быть, они куда-то вложены, я их не увидел?

Есть ли лучший способ связать 2 аккаунта?

1 Ответ

0 голосов
/ 22 февраля 2019

Если вы используете кнопку «Установить» для установки приложения Slack в рабочую область, это полезная нагрузка, которая будет отправлена ​​на ваш response_url:

{
    "access_token": "xoxp-XXXXXXXX-XXXXXXXX-XXXXX",
    "scope": "incoming-webhook,commands,bot",
    "team_name": "Team Installing Your Hook",
    "team_id": "XXXXXXXXXX",
    "incoming_webhook": {
        "url": "https://hooks.slack.com/TXXXXX/BXXXXX/XXXXXXXXXX",
        "channel": "#channel-it-will-post-to",
        "configuration_url": "https://teamname.slack.com/services/BXXXXX"
    },
    "bot":{
        "bot_user_id":"UTTTTTTTTTTR",
        "bot_access_token":"xoxb-XXXXXXXXXXXX-TTTTTTTTTTTTTT"
    }
}

Подробнее см.

Затем, используя access_token в сочетании с users.identity методом API, вы получите основную информацию о пользователе Slack (играя с областями, запрошенными вами в процессе установки, вы можете получить разныеполя идентификации пользователя Slack).

...