Download the PHP package lingoda/b2b-crosslogin-bundle without Composer
On this page you can find all versions of the php package lingoda/b2b-crosslogin-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download lingoda/b2b-crosslogin-bundle
More information about lingoda/b2b-crosslogin-bundle
Files in lingoda/b2b-crosslogin-bundle
Package b2b-crosslogin-bundle
Short Description B2B Cross-Login Bundle
License proprietary
Informations about the package b2b-crosslogin-bundle
Lingoda B2B Cross-Login Bundle
This bundle provides a way to cross-login between apps on B2B.
Installation
Then add the bundle to your config/bundles.php
, if it is not added automatically:
Configuration
Add the following configuration to your config/packages/lingoda_cross_login.yaml
:
!!! For security reasons, the audience
of a generated token on one app has to match the issuer
of the other app,
and vice versa. Tokens that do not match this requirement will be rejected.
The audience
is automatically generated from the host
and port
of the URL provided.
The following statements should be true, in order to have a successful cross-login:
- App A
issuer
ENV var = App B JWT tokenaudience
(aud
) - App B
issuer
ENV var = App A JWT tokenaudience
(aud
)
Configuration for LexikJWTAuthenticationBundle
Add the following configuration to your config/packages/lexik_jwt_authentication.yaml
:
Configuring the firewall
Then, add the following configuration to your config/packages/security.yaml
:
Configuring the routes
Finally, add the following to your config/routes.yaml
:
Important note!
- Keep in mind, all apps need to have the same
JWT_PUBLIC_KEY
value (public.pem
content, not path), so the JWT token can be validated across apps.
Usage in Twig
You can use the following Twig functions to generate JWT tokens and URLs:
Use cases
1. Bypassing JWT token authentication failure
If you don't want the authentication to fail if the JWT token is invalid, expired, or not provided, you can add the BypassFailureJWTAuthenticator
to your firewall's custom_authenticators
:
And register the authenticator in your config/services.yaml
:
2. Stateful cross-login
If you want to make the cross-login stateful, add the jwt
configuration to a stateful firewall, e.g.:
Dependencies
- LexikJWTAuthenticationBundle is used for JWT token generating.
All versions of b2b-crosslogin-bundle with dependencies
lexik/jwt-authentication-bundle Version ^3.0
psr/log Version ^3.0
symfony/config Version ^6.4|^7.0
symfony/dependency-injection Version ^6.4|^7.0
symfony/http-foundation Version ^6.4|^7.0
symfony/http-kernel Version ^6.4|^7.0
symfony/routing Version ^6.4|^7.0
symfony/security-bundle Version ^6.4|^7.0
twig/twig Version ^3.10
webmozart/assert Version ^1.11