2015-03-17 3 views
2

Получение необычной ошибки при попытке получить штурмарт, работающий в моем приложении expressJS. Я создал приложение штурма и получил свой сгенерированный ключ API. console.log показывает мой идентификатор среды и секретный ключ в моем терминале, так что : получение прогона в моем приложении. Путь apiKeyFile: работает отлично, чтобы получить мой ключ. Я просто не могу понять, почему я получаю ResourceError: HTTP 401, Stormpath 401 (http://www.stormpath.com/docs/quickstart/connect): Authentication with a valid API Key is required.Интеграция Stormpath, ExpressJS 'Stormpath 401Аутентификация с ключом Vaild API обязательна'

Я довольно новичок в штурмовом пути и выражаю так, что любой совет вообще был бы признателен. Благодаря!

// in front of all other middleware in app.js 
console.log(process.env['STORMPATH_API_KEY_SECRET']) 
console.log(process.env['STORMPATH_API_KEY_ID']) 
app.use(stormpath.init(app, { 
apiKeyFile: 'working path to my API key fie', 
application: 'https://api.stormpath.com/v1/applications/' + process.env['STORMPATH_API_KEY_ID'], 
secretKey: process.env['STORMPATH_API_KEY_SECRET'] 
})); 

ответ

4

Я являюсь автором библиотеки. У вас есть две проблемы здесь:

  1. Вам нужно только установить ключи API в одну сторону (по переменным окружения, с помощью файла ключа API, или вручную вставки в код). Вы делаете это двумя способами прямо сейчас (apiKeyFile и переменные среды).

  2. Ваши ключи API недействительны.

Что происходит, так это то, что библиотека сначала вытаскивает ключи api из переменных окружения, и эти ключи в настоящее время недействительны.

Чтобы проверить это дальше, попробуйте сделать следующее:

app.use(stormpath.init(app, { 
    apiKeyFile: '/path/to/apiKey.properties' 
})); 

И удалить все переменные окружения вы ранее установили.

Если вы все еще получаете ошибки, у вас все еще есть неправильные ключи API (возможно, вы удалили те, которые вы используете) - так что посетите панель инструментов Stormpath и создайте новую пару ключей api.

2

У меня недавно был подобный опыт использования SDK Stormpath Express. Оказалось, что в моей проблеме использовался, казалось бы, действительный ключ API, который был , а не, связанный с объектом учетной записи, который имел доступ к рассматриваемому приложению Stormpath.

Так что в основном, ключ/секретный ключ API-ключа, который я использовал, не принадлежал учетной записи, которая находилась в каталоге администраторов Stormpath.

enter image description here

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

0

Я столкнулся с тем же/подобным сценарием. Моя проблема заключалась в том, что моя учетная запись не была проверена (проверка электронной почты), поэтому, хотя я использовал правильные переменные (STORMPATH_APPLICATION_HREF, STORMPATH_CLIENT_APIKEY_SECRET, STORMPATH_CLIENT_APIKEY_ID), она все равно не работает.

Итак, убедитесь, что у вас создано приложение. По умолчанию используется Stormpath, но вы можете (и, вероятно, должны) создать новое приложение, которое отображает ваше приложение. После создания вашего приложения вам необходимо создать учетную запись, связанную с ранее созданным Приложением. Когда вы создаете свою учетную запись, убедитесь, что вы используете действительное электронное письмо, и проверьте электронное письмо, отправленное методом шунтирования (т. Е. Вы должны войти в путь штурма с вновь созданной учетной записью).После того, как у вас есть Учетная запись, созданная и связанная с Приложением, вам необходимо сгенерировать пару ключей учетной записи API, которая даст вам секрет и идентификатор. Тогда единственной переменной среды, в которой вам понадобится, является значение конечной точки приложения, которое является значением HREF в представлении «Сведения о приложении».

Надеюсь, это поможет! Счастливое кодирование.

Смежные вопросы