Результаты поиска :

×

Интеграция клиента Joomla OAuth с системой единого входа (SSO) Laravel Passport.


Интеграция Единый вход в Laravel Passport (Laravel Passport SSO) с использованием Joomla ОАут 2.0 Протокол. Плагин miniOrange Joomla OAuth / OpenID Connect для единого входа (SSO) упрощает настройку. Laravel Passport SSO в Joomla и Обеспечивает безопасный вход в Joomla. В результате пользователи могут войти в Joomla и получить доступ к сайту, используя свои учетные данные Laravel Passport OAuth Provider.
Посетите наш Плагин клиента Joomla OAuth Посетите нашу веб-страницу, чтобы узнать больше о функциях и тарифных планах, которые мы предлагаем для плагина Joomla OAuth Single Sign-on (OAuth & OpenID connect).

Предварительные условия: Загрузка и установка.


  • Войдите на свой сайт Joomla. Администратора приставка.
  • В левом выпадающем меню нажмите на Системазатем в разделе «Установка» нажмите на Расширения.
  • Теперь нажмите Или выберите файл. кнопка для поиска и установки ранее загруженного файла плагина.
  • Установка плагина прошла успешно. Теперь нажмите на Начните использовать плагин miniOrange OAuth Server..
  • Под Настроить OAuth , нажмите ДОБАВИТЬ .
Начните настройку сервера OAuth.

Шаги по настройке единого входа OAuth в Joomla

1. Настройка URL-адреса обратного вызова/перенаправления.

  • После выбора поставщика OAuth вы будете перенаправлены на страницу Шаг 1 [URL перенаправления] Вкладка. Теперь скопируйте. URL обратного вызова/перенаправления который мы будем использовать для настройки сервера OAuth, затем нажмите на Сохранить и далее .
  • Единый вход OAuth (SSO) в Joomla — скопируйте URL-адрес перенаправления
  • Скачать Паспорт Ларавеля.
  • Создайте проект Laravel на своем компьютере с помощью командной строки и настройте его:
  • composer create-project --prefer-dist laravel/laravel blog
  • Установите Laravel Passport.
  • composer require Laravel/Passport
  • Перейдите в файл config/app.php и добавьте следующий класс: раздел поставщика в файле app.php
  • Laravel\Passport\PassportServiceProvider::class,
  • Run php ремесленник миграция команду
  • Run php artisan passport:install команду
  • Перейдите на app/User.php класс модели, добавить HasApiTokens признак кода:
  • namespace App;
    use Laravel\Passport\HasApiTokens;
    use Illuminate\Contracts\Auth\MustVerifyEmail;
    use Illuminate\Foundation\Auth\User as Authenticatable;
    use Illuminate\Notifications\Notifiable;
    class User extends Authenticatable
    {
    use HasApiTokens, Notifiable;
    /**
    * The attributes that are mass assignable.
    *
    * @var array
    */

    protected $fillable = [ 'name', 'email', 'password', ];
    /**
    * The attributes that should be hidden for arrays.
    *
    * @var array
    */

    protected $hidden = [ 'password', 'remember_token', ];
    /**
    * The attributes that should be cast to native types.
    *
    * @var array
    */

    protected $casts = [ 'email_verified_at' => 'datetime', ]; }
  • Идти по этому пути Откройте файл AuthServiceProvider.php в папке app/Providers. добавить Паспорт Ниже приведена информация о маршрутах к сервисному коду; сохраните его:
  • namespace App\Providers;
    use Laravel\Passport\Passport;
    use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;
    use Illuminate\Support\Facades\Gate;
    class AuthServiceProvider extends ServiceProvider
    {
    /**
    * The policy mappings for the application.
    *
    * @var array
    */

    protected $policies = [ // 'App\Model' => 'App\Policies\ModelPolicy', ];
    /**
    * Register any authentication / authorization services.
    *
    * @return void
    */

    public function boot()
    {
    $this->registerPolicies();
    Passport::routes();
    //
    }
    }
  • Перейдите на config/auth.php изменить API водительский токен паспорта: Поскольку мы собираемся пользоваться библиотекой Passport.
  • 'guards' => [
    'web' => [
    'driver' => 'session',
    'provider' => 'users',
    ],
    'api' => [
    'driver' => 'passport',
    'provider' => 'users',
    'hash' => false,
    ],
    ],
  • Теперь настройте демонстрационный ресурс, в котором можно создать маршрут API. маршруты/api.php .
  • Чтобы получить идентификатор клиента и Секрет клиента Выполните следующие команды: php artisan passport:client Вам будут заданы следующие вопросы:
  • Which user ID should the client be assigned to?:
    > 1
    What should we name the client?:
    > Demo OAuth2 Client Account
    Where should we redirect the request after authorization?
    [http://localhost/auth/callback]:
    > http://localhost/oauth2_client/callback.php
    New client created successfully.
    Client ID: 1
    Client secret: zMm0tQ9Cp7LbjK3QTgPy1pssoT1X0u7sg0YWUW01

  • Чтобы создать конечную точку UserInfo вручную, в app/Http/Controllers, создайте файл UserController.php:
  • use App\Http\Controllers\Controller;
    use Illuminate\Http\Request;
    use App\User;
    class UserController extends Controller
    {
    public function get(Request $request)
    {
    $user_id = $request->get("uid", 0);
    $user = User::find($user_id);
    return $user;
    }
    }
  • Кроме того, зарегистрируйте маршрут API, добавив следующую строку. маршруты/api.php файл:
  • Route::middleware('auth:api')->get('/user/get', 'UserController@get');

2. Настройте идентификатор клиента и секретный ключ.

  • Перейдите на сайт Шаг 2 [Идентификатор клиента и секретный ключ] Вкладка плагина Joomla OAuth Client, вставьте сюда... идентификатор клиента, Секрет клиента и Арендатор, Нажать на Сохранение конфигурации .
  • Единый вход OAuth (SSO) в Joomla — Сохранение конфигурации

2.1. Область применения и конечные точки

  • Теперь вы можете подключить OAuth-клиент к Laravel Passport (OAuth Provider), используя следующие конечные точки:
    ( Бегать php artisan serv в командной строке, чтобы получить ваш-laravel-site-url (Домен). )
  • Объем:
    профиль электронной почты openid
    Конечная точка авторизации:
    http://your-laravel-site-url/oauth/authorize
    Конечная точка для ввода токена:
    http://your-laravel-site-url/oauth/token
    Конечная точка для получения информации о пользователе:
    http://your-laravel-site-url/api/user/get
    Настройка учетных данных клиента:
    В обоих случаях (в заголовке и в теле документа)
  • Сопоставление атрибутов пользователя является обязательным условием для успешного входа пользователей в Joomla. Мы будем настраивать атрибуты профиля пользователя для Joomla, используя следующие параметры.
  • Перейдите на Шаг 3 в Настроить OAuth и нажмите Конфигурация теста .
Загрузка метаданных поставщика идентификации

  • В выходных данных конфигурации теста вы сможете увидеть следующие атрибуты.
Загрузка метаданных поставщика идентификации

  • Теперь выберите имя атрибута для Адрес электронной почты и имя пользователя из выпадающего списка. Затем нажмите на Завершить настройку .
Загрузка метаданных поставщика идентификации

  • Теперь перейдите в Шаг 4, здесь скопируйте URL для входа/единого входа и добавьте его на свой сайт.
Загрузка метаданных поставщика идентификации

  • Теперь выйдите из системы и перейдите на страницы вашего сайта Joomla, куда вы добавили эту ссылку. Вы увидите ссылку для входа в систему там, где вы разместили эту кнопку. Нажмите на эту кнопку, чтобы выполнить единый вход (SSO).


Вы успешно настроили Joomla в качестве клиента OAuth для реализации единого входа (SSO) Joomla Laravel для аутентификации пользователей.


В этом руководстве вы успешно настроили единый вход (SSO) в Joomla Laravel, используя наш плагин Joomla OAuth Client для настройки Laravel в качестве поставщика OAuth и Joomla в качестве клиента OAuth. Это решение гарантирует, что вы сможете развернуть безопасный доступ к вашему сайту Joomla с использованием учетных данных Laravel за считанные минуты.

Дополнительные ресурсы


Напишите нам по адресу joomlasupport@xecurify.com для получения быстрой консультации (по электронной почте/на встрече) по вашим вопросам, и наша команда поможет вам выбрать наиболее подходящее решение/план в соответствии с вашими потребностями.

Привет!

Нужна помощь? Мы здесь!

поддержка