hwi/oauth-bundle
Symfony bundle for OAuth1.0a/OAuth2 login and user authentication. Supports Symfony 6.4–8.0 (PHP 8.3+) and integrates dozens of providers (Google, GitHub, Facebook, Apple, LinkedIn, Azure, Keycloak, etc.).
firebase/php-jwt support to 7.0,show_dialog option to Spotify resource owner,6.3 and 7.0,Amazon Cognito resource owner,failure_path in AuthenticationFailureHandler when connect functionality is not enabled,failure_handler in security configuration if set,AuthenticatorInterface instead of OAuthAuthenticator in RefreshAccessTokenListener,OdnoklassnikiResourceOwner,null as $registrationForm in RegisterController by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1983AuthenticationFailureHandler by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1986Full Changelog: https://github.com/hwi/HWIOAuthBundle/compare/2.1.0...2.2.0
For details go and read the CHANGELOG file.
The main changes:
FOSUserBundle,For details go and read the CHANGELOG file.
Full Changelog: https://github.com/hwi/HWIOAuthBundle/compare/2.0.0-BETA3...2.0.0
Templating\Helper\OAuthHelper was merged into Twig\Extension\OAuthRuntime,TYPE constant or is null, then key will be calculated by converting its class name without ResourceOwner suffix to snake_case, if neither is felt, then \LogicException will be thrown,UserResponseInterface::getUsername() was deprecated in favour of UserResponseInterface::getUserIdentifier() to match changes in Symfony Security component,[@internal](https://github.com/internal) resourceOwner oauth types in Configuration are calculated automatically by scandir. All classes extended from GenericOAuth[X]ResourceOwner get oauth[X] type. If class only implements ResourceOwnerInterface then its oauth type is unknown. ResourceOwner key (parameter type in configs) should have defined ResourceOwner::TYPE constant. Each user defined custom ResourceOwner class that implemented ResourceOwnerInterface will be registered automatically. If autoconfigure option is disabled user have to add the tag hwi_oauth.resource_owner to the service definition,ConnectController was split into two smaller ones, Connect\ConnectController & Connect\RegisterController,OAuth1ResourceOwner & OAuth2ResourceOwner to cover case of implementing custom oauth resource owners,CleverResourceOwner::doGetRequest,TransportExceptionInterface in AbstractResourceOwner::getResponseContent() method,OAuthUserProvider::loadUserByOAuthUserResponse() when nickname is not available in OAuth response,firebase/php-jwt library,Templating\Helper\OAuthHelper class directly into Twig\Extension\OAuthRuntime by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1888OAuth1ResourceOwner & OAuth2ResourceOwner by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1889ConnectController & split it into smaller ones by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1887RefreshOAuthTokenCompilerPass class quality by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1881getIdentifier() into PathUserResponse to match Symfony changes by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1883SensioConnectUserResponse by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1894TransportExceptionInterface in AbstractResourceOwner::getResponseContent() method by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1911loadUserByOAuthUserResponse() when nickname is not available in OAuth response by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1913symfony/templating by @GromNaN in https://github.com/hwi/HWIOAuthBundle/pull/1940Full Changelog: https://github.com/hwi/HWIOAuthBundle/compare/2.0.0-BETA2...2.0.0-BETA3
firewall_names, firewalls are now computed automatically - all firewalls that have defined oauth authenticator/provider will be collected,GenericOAuth2ResourceOwner resource owners), if option refresh_on_expire set to true,refresh_on_expure set to true,[@internal](https://github.com/internal)) Removed/replaced redundant argument $firewallNames from controllers. If controller class was copied and replaced, adapt list of arguments: In controller use $resourceOwnerMapLocator->getFirewallNames(),RefreshTokenListener cannot be lazy. If current firewall is lazy (or anonymous: lazy) then current auth token is often initializing on kernel.response. In this case new access token will not be stored in session. Therefore, the expired token will be refreshed on each request,InteractiveLoginEvent will be triggered also for OAuthAuthenticator,*.xml to *.php (services and routes). Xml routing configs connect.xml, login.xml and redirect.xml are steel present but deprecated. Please use *.php variants in your includes instead.hwi_oauth.connect.confirmation parameter by @franmomu in https://github.com/hwi/HWIOAuthBundle/pull/1756Makefile in favour of composer scripts by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1766connect option is not enabled by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1782connect configuration is not set but ConnectController was used by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1844RememberMeBadge into OAuth passport by @stloyd in https://github.com/hwi/HWIOAuthBundle/pull/1846Full Changelog: https://github.com/hwi/HWIOAuthBundle/compare/1.4.5...2.0.0-BETA2
>=5.1 & <5.4 (still with BC layer included),OAuthExtension is now a lazy Twig extension using a Runtime,FOSUserBundle,process() argument for Form/RegistrationFormHandlerInterface, from Form $form to FormInterface $form,Resources/views/Connect/connect_confirm.html.twig from fos_user_registration_register to registration_register,fosub from oauth_user_provider,hwi_oauth.fosub, & all related DI parameters,hwi_oauth.registration.form.factory in favour of declaring form class name as DI parameter: hwi_oauth.connect.registration_form,ResourceOwnerMapInterface::hasResourceOwnerByName signature, update if you use a custom resource owner,ResourceOwnerMapInterface::getResourceOwnerByName signature, update if you use a custom resource owner,ResourceOwnerMapInterface::getResourceOwnerByRequest signature, update if you use a custom resource owner,ResourceOwnerMapInterface::getResourceOwnerCheckPath signature, update if you use a custom resource owner,ResourceOwnerMap uses service locator instead of DI container,hwi_oauth.abstract_resource_owner.generic, hwi_oauth.abstract_resource_owner.oauth1 & hwi_oauth.abstract_resource_owner.oauth2,setName() method from OAuth/ResourceOwnerInterface,__construct() argument for OAuth/ResourceOwner/AbstractResourceOwner, from HttpMethodsClient $httpClient to HttpClientInterface $httpClient,php-http/httplug-bundle with symfony/http-clienthwi_oauth.http configuration,src/,tests/,Resources/doc into: docs/,methods requirements:
hwi_oauth_connect_service: GET & POST,hwi_oauth_connect_registration: GET & POST,hwi_oauth_connect: GET,hwi_oauth_service_redirect: GET,5.4 & 6.0,Full Changelog: https://github.com/hwi/HWIOAuthBundle/compare/1.4.5...2.0.0-BETA1
Changelog:
AbstractOAuthToken::getCredentials() method,Changelog:
VkontakteResourceOwner option: api_version to not point to deprecated one,RequestStack::getMasterRequest() is deprecated since Symfony 5.3, use RequestStack::getMainRequest() if exists,GenericOAuth1ResourceOwnerTestCase, GenericOAuth2ResourceOwnerTestCase & ResourceOwnerTestCase test case classes for easier unit testing custom resource ownersChangelog:
[@final](https://github.com/final) declaration from OAuthFactory & FOSUBUserProvider,.gitattributes to reduce amount of code in archives,Changelog:
hwi_oauth.connect.confirmation parameter,Changelog:
__construct() argument for OAuth/RequestDataStorage/SessionStorage, from SessionInterface $session to RequestStack $requestStack,final,HWIOAuthEvents::CONNECT_COMPLETED is fired,OAuthProvide to properly refresh data inside tokens,AppleResourceOwner,GitHubResourceOwner,Wunderlist resource owner,<4.4,<2.0,first_name & last_name in AzureResourceOwner,authorization & access_token urls,FilterUserResponseEvent,target_path,LoginController,setContainer call to service configuration for LoginController,Auth0ResourceOwner::doGetTokenRequest,Auth0ResourceOwner,LoginController is now optional,symfony/config,LoginController::connectAction should not fail if no token is available,Configuration has been marked final,ConnectController has been marked final,HWIOAuthExtension has been marked final,OAuthExtension has been marked final,SetResourceOwnerServiceNameCompilerPass has been marked final,ConnectController extends AbstractController instead of Controller,hwi_oauth.http_client has been marked private,hwi_oauth.security.oauth_utils has been marked private,Here are some details what's in release:
Content-Length header must be a string,infos_url should not be empty,first- & last- names,Here are some details what's in release:
getUserInformation() in ConnectController,AccountNotLinkedException,IS_AUTHENTICATED_FULLY in DI configuration,OAuthProvider::refreshAccessToken() when there is no refresh tokenHere are some details what's in release:
PHPUnit_Framework_TestCase with PHPUnit\Framework\TestCase in tests,getUserInformation() for Dropbox v2,httpRequest() method in various resource owners,public to make code compatible with Symfony 4Here are some details what's in release:
hwi.http_client config options are remove. HTTP configuration must rely on the HTTPlug client,hwi_oauth.templating_engine was removed,php-http/httplug-bundle support, to auto-provide needed HTTPlug services and get full Symfony integration,hwi.http.client and hwi.http.message_factory config keys to provide your own HTTPlug services,HWIOAuthEvents class with definition of bundle events,ResourceOwnerInterface::addPaths() method for easier managing paths in resource owners,Note: this is last bugfix release for version 0.5, please upgrade to version 0.6.
Here are some details what's in release:
php-cs-fixer updated to latest version & run on base codeHere are some details what's in release:
Odnoklassinki resource owner,Office365 resource owner,StackExchange resource owner,WeChat resource owner,WindowsLive resource ownerHere are some details what's in release:
Here are some details what's in release:
OAuthHelper should fallback to new Request in case of receiving null,FOSUserBundle integration,WechatResourceOwner,WechatResourceOwner,TrelloResourceOwner,OAuthProvider,target_path after successful registration/connection,Note: this is last bugfix release for version 0.4, please upgrade to version 0.5
Here are some details what's in release:
Here are some details what's in release:
Here are some details what's in release:
form_enctype & replace with usage of form_start/form_end,~3.0,include_email option into Twitter resource owner,0.4.0 arrived!Here are some details what's in release:
UserResponseInterface#getFirstName() method, also a new default path firstname
was added, this path holds the first name of user,UserResponseInterface#getLastName() method, also a new default path lastname
was added, this path holds the last name of user,UserResponseInterface::getOAuthToken() & basic implementation in AbstractUserResponse,GenericOAuth1ResourceOwner::getRequestToken() is now public method (was protected),firewall_name (will be removed in next major version)
renamed to firewall_names to support multiple firewalls,failed_auth_path which contains route name, on which user
will be redirected after failure when connecting accounts (i.e. user denies connection),appsecret_proof functionality support to the Facebook resource owner,sandbox functionality support to the Salesforce resource owner,ResourceOwnerMap no longer depends on deprecated ContainerAware class,json_decode in Mail.ru resource owner,AuthenticationExceptionHow can I help you explore Laravel packages today?