Контур:
1. Introduction. 2. Auth0 Setup. 3. Connecting React with Auth0. 4. Rendering dribble profile. 5. Conclusion.
Введение:
В этом сообщении мы увидим, как добавить Dribble Social Connection, используя Auth0 в наше приложение React.
Настройка Auth0:
Создайте свою учетную запись Auth0, если вы еще не создали, и перейдите к Manage.auth0.com ссылка на сайт. Пожалуйста, создайте арендатора, если вы используете его в первый раз.
Нажмите на Приложения Навигационная ссылка и нажмите на Создать приложение Анкет
Дайте ваше заявление имя и нажмите на одностраничное веб -приложение, так как мы будем интегрировать его с React. Я назвал мой как Dribble Dashboard Анкет
Ударить Создать кнопка.
Перед добавлением подключения к капельнице к применению образца. Нам нужно две вещи от Dribble
Идентификатор клиента и Секрет клиента Анкет
Давайте перейдем к Dribble и зарегистрируем наше заявление.
Когда вы нажмете на регистрацию вашего приложения, вы будете перенаправлены на страницу профиля Dribble с Applications Active.
Дайте имя и описание в соответствующих столбцах. Поскольку у нас нет URL -адреса веб -сайта, давайте дадим заполнителя https://example.com и для обратного вызова URL ваш URL должен быть в этом формате.
https://YOUR_DOMAIN/login/callback
Your_domain можно найти, если вы пойдете в Приложения -> <Имя приложения> , вы найдете доменное имя.
В моем случае Домен будет React-pluralsight.auth0.com и URL будет
https://react-pluralsight.auth0.com/login/callback
Создайте свой Your_domain Точно так же и добавьте его в Callback_url и ударить Зарегистрировать заявку Анкет
После этого у вас будет доступ к Идентификатор клиента и Секрет клиента. Держись за них, нам понадобится в дальнейшей части учебника.
Теперь, когда у нас есть пример приложения, давайте добавим Dribble связь.
Перейти к Аутентификация -> Социальный и нажмите на Создать соединение и выберите Dribble , вы будете перенаправлены на следующую страницу.
Нажмите на Продолжить и вы будете перенаправлены на Конфигурация страница. Добавьте идентификатор клиента и Секрет клиента который вы получили от приложения Dribble в соответствующих блоках и нажмите Создать Анкет
После того, как это сделано, перейдите на вкладку «Приложения» и проверьте свое приложение.
Давайте код.
Соединение реагирует с Auth0
Давайте создадим наше приложение React, используя Create-React-App Анкет Запустите ниже команду.
npx create-react-app dribble-login cd dribble-login yarn start
Давайте установим Auth0 sdk , запустите команду ниже
yarn add @auth0/auth0-react
Создайте файл .env в корне и добавьте следующие переменные и значения. Вы можете получить идентификатор клиента и домен из Приложения -> Настройки
REACT_APP_CLIENT_ID= REACT_APP_DOMAIN=
Перезагрузите свое приложение, для распознавания переменных ENV.
Теперь перейти к src/index.js и добавить следующий код
import React from "react";
import ReactDOM from "react-dom";
import App from "./App";
import { Auth0Provider } from "@auth0/auth0-react";
ReactDOM.render(
,
document.getElementById("root")
);
Упаковкой Auth0provider из Auth0 sdk Для корневого компонента и передачи домена и ClientId мы можем интегрировать Auth0 с нашим приложением React.
Позвольте создать кнопку входа в систему, которая будет перенаправить экраны для входа в систему Auth0. Создать Dribble-login.js в SRC Папка и вставьте следующий код.
import React from "react";
import { useAuth0 } from "@auth0/auth0-react";
/*
Executing loginWithRedirect() redirects your users to the
Auth0 Universal Login Page, where Auth0 can authenticate them.
*/
const DribbleLogin = () => {
const { loginWithRedirect, isAuthenticated } = useAuth0();
if(!isAuthenticated){
return ;
}
return <>
export default DribbleLogin;
В настоящее время Перейти к src/app.js и добавить DribbleLogin составная часть.
import DribbleLogin from './dribbleLogin';
function App() {
return (
);
}
export default App;
Теперь беги пряжа старт и пойти в Localhost: 3000 или Localhost: 3001
Вы должны увидеть что -то подобное, простая старая кнопка входа в систему. Нажмите Вход кнопка.
Вы окажетесь на странице, в которой говорится, Соответствие URL -обратного вызова
Что мы пропустили,
На основании сообщения об ошибке мы не настроили обратный вызов, разрешил URL -адрес веб -происхождения и вход в систему.
Что это?
Обратный вызов URL : URL в вашем приложении, где Auth0 перенаправляет пользователя после того, как он аутентифицировал.
Разрешено веб -происхождение: Убедитесь, что пользователи не выходят из приложения, когда они посещают их в следующий раз, или обновлять страницу
Logouturl: URL в вашем приложении, к которому Auth0 может вернуться после того, как пользователь был выведен из сервера авторизации
Перейти к Настройки и добавить Localhost: 3000 или Localhost: 3001 URL, так как приложение находится на стадии разработки.
Примечание: номер порта может быть другим. Пожалуйста, добавьте их соответственно и сохраните изменения.
Поскольку мое приложение React работает на Localhost: 3001 Я пойду на URL и бегу в браузере. Нажмите кнопку «Вход», и теперь мы сможем увидеть экран брызг, как и ожидалось
После успешного входа в каплю вы будете перенаправлены обратно на приложение React с простой старой кнопкой входа.
Давайте обратимся с ним, чтобы добавить кнопку «Выход» и «Информация о профиле» для отображения после успешного входа в систему
Рендеринг профиль капля
Создать src/logout.js и регистрация пользователя в Auth0 может быть сделано, вызывая функцию журнала в Useauth0 крюк. Добавить следующий код
import React from "react";
import { useAuth0 } from "@auth0/auth0-react";
const Logout = () => {
const { logout, isAuthenticated } = useAuth0();
if(isAuthenticated){
return (
);
}
return <>
};
export default Logout;
Создать src/profile.js и добавить следующий кусок кода
import React from "react";
import { useAuth0 } from "@auth0/auth0-react";
const Profile = () => {
const { user, isAuthenticated, isLoading } = useAuth0();
if (isLoading) {
return Loading ...;
}
return (
isAuthenticated && (
{user.name}
{user.email}
{
JSON.stringify(user)
}
)
);
};
export default Profile;
Здесь снова из Useauth0 Крюк Мы отображаем информацию о профиле на основе ИСАУТИЧЕСКИЙ Boolean Мы отображаем информацию о профиле.
Теперь давайте добавим компонент в App.js Файл и изменить, как показано ниже
import DribbleLogin from './dribbleLogin';
import Logout from './logout';
import Profile from './profile';
function App() {
return (
);
}
export default App;
Отправляйтесь в браузер и нажмите «Перезагрузку», поскольку мы уже вошли
Вывод:
Спасибо, что следили до конца. К концу сообщения в блоге у вас должно быть применение приложения React, подключенное к вашей учетной записи Dribble, представляя профиль в браузере, как и ожидалось.
Auth0 позаботился о всей закулисной проблеме аутентификации и авторизации и уменьшив объем проблемы для решения.
Надеюсь, это было полезно. Пожалуйста, не стесняйтесь задавать любые вопросы в комментарии. Отзывы всегда приветствуются.
Оставайся в безопасности и счастливого кодирования:)
Оригинал: “https://dev.to/imkarthikeyan/how-to-add-dribble-social-login-to-your-react-application-using-auth0-3l66”