Код доступа OAuth, работающий на Localhost, но не работающий на сервере (например, nodechef)

Я разрабатываю веб-приложение с использованием React и Meteor JS.

На моем локальном хосте я бы вызывал Oauth API Patreon со ссылкой для перенаправления, и после того, как пользователь войдет в систему и разрешит доступ к своему профилю, пользователь будет перенаправлен на http://localhost:3000/. Оттуда я получаю код доступа из URL, а затем выполняю запросы к API, и он будет работать без сбоев.

Поскольку он работает, я решил протестировать его на реальном сервере, таком как nodechef. К моему удивлению, после получения кода с URL-адреса и его использования, чтобы попытаться запросить пути Patron OAuth с помощью:

    var promise = patreonOAuthClient
            .getTokens(oauthGrantCode, redirectURL)


        var result = await promise.then(function(tokensResponse) {

}

......

catch(function(err) {
            console.error('error!', err)
        })

Я получил бы следующую ошибку на сервере (nodechef), но не на моем локальном сервере:

 error! Body { 
url: 'https://www.patreon.com/api/oauth2/token', 
statusText: 'UNAUTHORIZED', 
headers: 
Headers { 
_headers: 
{ date: [Array], 
'content-type': [Array], 
'content-length': [Array], 
connection: [Array], 
'set-cookie': [Array], 
'cache-control': [Array], 
pragma: [Array], 
'x-patreon-uuid': [Array], 
'strict-transport-security': [Array], 
'x-content-type-options': [Array], 
'expect-ct': [Array], 
server: [Array], 
'cf-ray': [Array] } }, 
ok: false, 
body: 
PassThrough { 
_readableState: 
ReadableState { 
objectMode: false, 
highWaterMark: 16384, 
buffer: [Object], 
length: 26, 
pipesCount: 0, 
flowing: null, 
ended: true, 
endEmitted: false, 
reading: false, 
sync: false, 
needReadable: false, 
emittedReadable: true, 
readableListening: false, 
resumeScheduled: false, 
destroyed: false, 
defaultEncoding: 'utf8', 
awaitDrain: 0, 
readingMore: false, 
decoder: null, 
encoding: null }, 
readable: true, 
domain: null, 
_events: { end: [Object], prefinish: [Function: prefinish] }, 
_eventsCount: 2, 
_maxListeners: undefined, 
_writableState: 
WritableState { 
objectMode: false, 
highWaterMark: 16384, 
finalCalled: false, 
needDrain: false, 
ending: true, 
ended: true, 
finished: true, 
destroyed: false, 
decodeStrings: true, 
defaultEncoding: 'utf8', 
length: 0, 
writing: false, 
corked: 0, 
sync: false, 
bufferProcessing: false, 
onwrite: [Function: bound onwrite], 
writecb: null, 
writelen: 0, 
bufferedRequest: null, 
lastBufferedRequest: null, 
pendingcb: 0, 
prefinished: true, 
errorEmitted: false, 
bufferedRequestCount: 0, 
corkedRequestsFree: [Object] }, 
writable: false, 
allowHalfOpen: true, 
_transformState: 
{ afterTransform: [Function: bound afterTransform], 
needTransform: false, 
transforming: false, 
writecb: null, 
writechunk: null, 
writeencoding: 'buffer' } }, 
bodyUsed: false, 
size: 0, 
timeout: 0, 
_raw: [], 
_abort: false }

Как мне это решить?

Или это то, что я должен сообщить nodechef для них, чтобы настроить что-то на их конце???

0 ответов

Другие вопросы по тегам