GitHub OAuth: несоответствие URI перенаправления - PullRequest
0 голосов
/ 04 мая 2018

Я пытаюсь использовать GitHub OAuth в своем веб-приложении. это моя настройка для GitHub: enter image description here

это код моего бэкэнда API обратного вызова:

const querystring = require('querystring');

const express = require('express');
const request = require('request');

var app = express();

var githubConfig = {
    client_ID: '66212aa2c8c2293b9020',
    client_Secret: 'aa91b86146ed547109aee****',

    access_token_url: 'https://github.com/login/oauth/access_token'
    user_info_url: 'https://api.github.com/user?',
    redirect_uri: 'https://saltfish666.github.io'
}

app.get("/gitblog/login",async function(req,res){

    res.set('Content-Type','text/json; charset=utf-8');
    let code = req.query.code
    console.log(code)

    await request.post(githubConfig.access_token_url, {
        form:{
            "client_id": githubConfig.client_ID,
            "client_secret": githubConfig.client_Secret,
            "code": code,
            "redirect_uri": githubConfig.redirect_uri}
        },function(error, response, body) {
            let access_token = querystring.parse(body)["access_token"]
            if(access_token == undefined){
                res.send(body)
            }
            res.redirect(302, githubConfig.redirect_uri + "?token="+access_token)
        })

})

app.listen(8099,function(){
    console.log('listening localhost:8099')
})

это простой код для работы с URL обратного вызова, но когда я пытаюсь посетить

https://github.com/login/oauth/authorize?client_id=66212aa2c8c2293b9020&scope=public_repo

, ответ GitHub показывает:

 error=redirect_uri_mismatch&error_description=The+redirect_uri+MUST+match+the+registered+callback+URL+for+this+application.

это только документ от github:

Redirect URI mismatch

If you provide a redirect_uri that doesn't match what you've registered 
with your OAuth App, you'll receive this error message:

{
  "error": "redirect_uri_mismatch",
  "error_description": "The redirect_uri MUST match the registered callback URL for this application.",
  "error_uri": "https://developer.github.com/apps/building- 
  integrations/setting-up-and-registering-oauth-apps/troubleshooting-oauth-app-access-token-request-errors/#redirect-uri-mismatch(2)"
}

To correct this error, either provide a redirect_uri that matches what you registered or leave out this parameter to use the default one registered with your application.

Я не понимаю, что значит «предоставить redirect_uri, который соответствует тому, что вы зарегистрировали»? что именно я должен делать?

1 Ответ

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

Вы можете посетить Git Developer .

Примечание: Путь URL перенаправления должен ссылаться на подкаталог URL обратного вызова.

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