ikerib/giltza-oauth2
最新稳定版本:1.0
Composer 安装命令:
composer require ikerib/giltza-oauth2
包简介
Izenperen Giltza oauth2 zerbitzua erabiltzeko oauth2 bezeroa
README 文档
README
This package provides Giltza OAuth 2.0 support for the PHP League's OAuth 2.0 Client.
Installation
To install, use composer:
composer require ikerib/giltza-oauth2
KnpUOAuth2ClientBundle-rekin batera erabiltzeko.
https://github.com/knpuniversity/oauth2-client-bundle
Aurrena IZFE-ri zure aplikazioak garatu ahal izateko eskaera egin behar zaio erabiltzaile eta pasahitza lor ditzazun.
Behin edukita, KnpUOAuth2ClientBundle instalatu eta liburutegi hau.
Symfony-ren CustomAuthenticator bat sortu eta bertan authenticate funtzioa:
public function authenticate(Request $request): Passport { $client = $this->clientRegistry->getClient('giltza'); $accessToken = $this->fetchAccessToken($client); return new SelfValidatingPassport( new UserBadge($accessToken->getToken(), function() use ($accessToken, $client) { $user = $client->fetchUserFromToken($accessToken); // 1) have they logged in with Facebook before? Easy! $user = $this->entityManager->getRepository(User::class)->findOneBy(['NA' => $user->getId()]); if ($user) { return $user; } throw new UserNotFoundException(); }) ); }
KnpUOAuth2ClientBundle-ren konfigurazio fitxategia horrela izan behar du:
knpu_oauth2_client: clients: # configure your clients as described here: https://github.com/knpuniversity/oauth2-client-bundle#configuration giltza: type: generic provider_class: Giltza\OAuth2\Client\Provider\OauthGiltzaProvider client_id: "%env(CLIENT_ID)%" client_secret: "%env(CLIENT_SECRET)%" redirect_route: oauth_check redirect_params: { } use_state: true
Azkenik controller-ean deia egin:
#[Route(path: '/login/giltza/connect', name: 'oauth_connect')] public function connect(ClientRegistry $clientRegistry): \Symfony\Component\HttpFoundation\RedirectResponse { return $clientRegistry->getClient('giltza')->redirect(['urn:izenpe:identity:global urn:izenpe:fea:properties urn:safelayer:eidas:authn_details']); } #[Route(path: '/login/giltza/connect/check', name: 'oauth_check')] public function check(Request $request, ClientRegistry $clientRegistry): void { }
Security.yml horrela dago:
... firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false main: pattern: ^/ lazy: true provider: app_user_provider custom_authenticator: - App\Security\OauthAuthenticator entry_point: App\Security\OauthAuthenticator logout: path: app_logout target: / invalidate_session: true # Easy way to control access for large sections of your site # Note: Only the *first* access control that matches will be used access_control: - { path: ^/admin/, roles: ROLE_ADMIN }
统计信息
- 总下载量: 252
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2023-03-22