https://github.com/dotkernel/dot-auth-social
https://github.com/dotkernel/dot-auth-social
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/dotkernel/dot-auth-social
- Owner: dotkernel
- License: mit
- Created: 2022-11-16T14:52:51.000Z (over 2 years ago)
- Default Branch: 1.0
- Last Pushed: 2025-03-14T15:25:48.000Z (3 months ago)
- Last Synced: 2025-05-05T00:52:27.610Z (about 2 months ago)
- Language: PHP
- Homepage: https://docs.dotkernel.org/dot-auth-social/
- Size: 101 KB
- Stars: 4
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# dot-auth-social
Dotkernel's component used to authenticate users through Facebook and return credentials and user details.
> dot-auth-social is a wrapper on top of [thephpleague/oauth2-client](https://github.com/thephpleague/oauth2-client) social providers.
## Documentation
Documentation is available at: https://docs.dotkernel.org/dot-auth-social/.
## Badges

[](https://github.com/dotkernel/dot-auth-social/issues)
[](https://github.com/dotkernel/dot-auth-social/network)
[](https://github.com/dotkernel/dot-auth-social/stargazers)
[](https://github.com/dotkernel/dot-auth-social/blob/1.0/LICENSE.md)[](https://github.com/dotkernel/dot-auth-social/actions/workflows/continuous-integration.yml)
[](https://codecov.io/gh/dotkernel/dot-auth-social)
[](https://github.com/dotkernel/dot-auth-social/actions/workflows/static-analysis.yml)## Requirements
- **PHP**: 8.1, 8.2, 8.3 or 8.4
## Installation
Run the following command in your project directory:
```shell
composer require dotkernel/dot-auth-social
```After installing, add the `ConfigProvider` class to your configuration aggregate.
Create a new file `social-authentication.global.php` in `config/autoload` with the following contents:
```php
return [
'social_authentication' => [
'facebook' => [
'client_id' => '',
'client_secret' => '',
'redirect_uri' => '',
'graph_api_version' => '',
]
]
];
```> Make sure to populate the array with your credentials.
## Usage
In this example we will create a new controller, but you can use an existing one too.
```php
service = $service;
}public function authAction(): ResponseInterface
{
$code = $this->request->getQueryParams()['code'] ?? false;
if (! $code) {
return new RedirectResponse($this->service->getAuthorizationUrl());
}$result = $this->service->authenticate($code);
if (! $result->isValid()) {
// invalid authentication, check $result->getMessages() for errors.
} else {
// valid authentication, use $result->getArrayCopy() to get the user details
}
}
}
```Create a factory for the controller:
```php
get(FacebookService::class));
}
}
```Make sure to register your controller with the factory in `ConfigProvider`.