2015-07-28 4 views
0

Я написал небольшой сервер в node.js и развернул его в Azure WebApp. Я хочу добавить аутентификацию Service-to-Service, используя Azure AD OAuth (например, flow). Я alredy сделал это в другом WebApi sevice, используя Katana.
Итак, я нашел библиотеку official, и она отлично работает. Единственная проблема заключается в том, что библиотека использует модуль ursa, который является родным модулем. И, как объяснил here, не просто развернуть WebApp с собственными модулями.
Итак, мой вопрос: какой лучший подход? Как я могу выполнить аутентификацию с использованием Azure AD OAuth?
Спасибо,
ОмерЗащитный сервер node.js с использованием Azure AD OAuth 2.0

ответ

0

Посмотрите на аутентификации/авторизации особенность Azure Web Apps. Он позволяет выполнять автономные потоки OAuth 2.0 с использованием Azure AD, никаких изменений кода не требуется (также он работает с любым стеком, а не только с node.js).

Более подробную информацию высокого уровня здесь: http://azure.microsoft.com/blog/2014/11/13/azure-websites-authentication-authorization/

Сообщение немного устаревшей и не упоминает о недавно добавлена ​​поддержка API-интерфейсов, но если ваш клиент может получить маркер OAuth от Azure AD, вы можете отправить это на ваш node.js-сервер как токен-носитель в заголовке Authorization вашего HTTP-запроса и просто авторизация авторизации.

Две вещи, чтобы быть в курсе, если вы идете по этому пути:

  1. аутентификации/авторизации в настоящее время блокирует все неавторизованный доступ к Node.js API. Вы не сможете сказать, что некоторые API-интерфейсы защищены, а некоторые нет.
  2. Значок JWT, который вы отправляете в ваш API node.js, должен использовать значение идентификатора GUID client_id как значение для претензии «aud». Использование URI приложения (как показано в некоторых примерах Azure AD) не будет работать.

Попробуйте и посмотрите, работает ли оно для вас.

+0

Я знаю эту функцию и уже пробовал. Основная проблема с этим, как говорится в добавленной вами ссылке, «Головка меньше аутентификации/авторизации для сценариев API или сценариев обслуживания для обслуживания в настоящее время не поддерживается». ApiApp имеет лучшую поддержку, но у меня проблемы, когда я пытаюсь настроить его. –

+0

@omer, поскольку я упоминал, что ссылка устарела, безглавная аутентификация поддерживается сегодня. Это еще не документировано. –

+0

ОК, я думаю, я попробовал, но я попробую еще раз. –

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