Библиотека OAuth для ReactJS

#reactjs #oauth #oauth-2.0

#reactjs #oauth #oauth-2.0

Вопрос:

Я работаю над ReactJS SPA. Я пытаюсь найти библиотеку, которую я могу использовать для OAuth2 из моего React SPA, чтобы получить код авторизации. Я пытался использовать библиотеки auth0, но библиотеки auth0 перенаправляют только на конечную точку / authorize, и нет способа ее настроить. Конечной точкой авторизации сервера аутентификации нашей компании является /as/authorization. Может кто-нибудь, пожалуйста, помочь, какую библиотеку React можно использовать?

Ответ №1:

Это то, что можно легко сделать с помощью Pizzly, менеджера интеграции OAuth с открытым исходным кодом.

Вот пример того, как использовать Pizzly для получения accessToken :

 const App = () => {

  // Initialize Pizzly
  const pizzly = new Pizzly({ host: PIZZLY_HOSTNAME, publishableKey: PIZZLY_PUBLISHABLE_KEY })

  // Use the GitHub API
  const github = pizzly.integration('github')

  // The connect method lets us authenticate a user
  // to our GitHub OAuth application
  const connect = () => {
    github
      .connect()
      .then(({ authId, payload }) => {
        console.log(authId, payload.accessToken)
      })
      .catch(console.error)
  }

  // ...
};

export default App;
  

Недавно я написал руководство о том, как использовать Pizzly React.

Ответ №2:

Самой распространенной и зрелой библиотекой является oidc-client. Вот несколько моих примеров кода, которые ее используют:

Репозитории GitHub ссылаются на некоторые сообщения в блоге, которые также могут быть полезны.

Ответ №3:

Вы можете попробовать использовать Pathfix, у нас есть расширение для входа, которое подключается к нескольким провайдерам.

Можете ли вы разработать свой вариант использования OAuth. Я предполагаю, что, поскольку вы упомянули Auth0, вы пытаетесь использовать его в качестве поставщика входа?

Отказ от ответственности: я работаю с ними

Комментарии:

1. У нас есть собственный сервер аутентификации. Я попытался использовать библиотеки auth0 react для подключения к нашему серверу аутентификации, но не смог, так как у нас нет конечной точки авторизации для нашей службы аутентификации

2. Конечная точка в / as / authorization должна быть в порядке. Способ работы библиотек заключается в том, чтобы начать с конечной точки метаданных и оттуда искать другие конечные точки. Может быть, взгляните на мой пост в блоге Initial Messages и посмотрите, сможете ли вы найти конечную точку с шага 3.

Ответ №4:

В итоге мы использовали hello.js в нашем приложении.

Нам пришлось настроить ее, но она работала.