#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 в нашем приложении.
Нам пришлось настроить ее, но она работала.