PHPackages                             ahilmurugesan/socialiteproviders-apple - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. ahilmurugesan/socialiteproviders-apple

Abandoned → [socialiteproviders/apple](/?search=socialiteproviders%2Fapple)ArchivedLibrary[Authentication &amp; Authorization](/categories/authentication)

ahilmurugesan/socialiteproviders-apple
======================================

Apple OAuth2 Provider for Laravel Socialite

0.7.6(6y ago)02.6kMITPHP

Since Apr 28Pushed 6y ago2 watchersCompare

[ Source](https://github.com/Ahilmurugesan/socialiteproviders-apple)[ Packagist](https://packagist.org/packages/ahilmurugesan/socialiteproviders-apple)[ RSS](/packages/ahilmurugesan-socialiteproviders-apple/feed)WikiDiscussions master Synced today

READMEChangelog (7)Dependencies (3)Versions (8)Used By (0)

Notice
======

[](#notice)

We are Happy to announce that SocialiteProvider - Apple package is officialy approved and added to Laravel Socialite. You can find them here

SocialiteProvider - Apple
=========================

[](#socialiteprovider---apple)

[![Total Downloads](https://camo.githubusercontent.com/9f2dea1542f8d96d198565c26f15989071853f05df5e6b065eff13bceb2f7e2c/68747470733a2f2f706f7365722e707567782e6f72672f6168696c6d757275676573616e2f736f6369616c6974652d6170706c652f642f746f74616c2e737667)](https://packagist.org/packages/ahilmurugesan/socialiteproviders-apple)[![Latest Stable Version](https://camo.githubusercontent.com/b79651fa365790c2aeb7da78352bebce91276a075bc53b958c1939a0d7e40277/68747470733a2f2f706f7365722e707567782e6f72672f6168696c6d757275676573616e2f736f6369616c6974652d6170706c652f762f737461626c652e737667)](https://packagist.org/packages/ahilmurugesan/socialiteproviders-apple)[![License](https://camo.githubusercontent.com/f45d904953153ca304a2328243d2733e095eee13a631a1f390709885d41dd692/68747470733a2f2f706f7365722e707567782e6f72672f6c61726176656c2f6672616d65776f726b2f6c6963656e73652e737667)](https://packagist.org/packages/ahilmurugesan/socialiteproviders-apple)

---

1. Installation
---------------

[](#1-installation)

```
// This assumes that you have composer installed globally
composer require ahilmurugesan/socialiteproviders-apple
```

2. Service Provider
-------------------

[](#2-service-provider)

- Remove `Laravel\Socialite\SocialiteServiceProvider` from your `providers[]` array in `config\app.php` if you have added it already.
- Add `\SocialiteProviders\Manager\ServiceProvider::class` to your `providers[]` array in `config\app.php`.

For example:

```
'providers' => [
    // a whole bunch of providers
    // remove 'Laravel\Socialite\SocialiteServiceProvider',
    \SocialiteProviders\Manager\ServiceProvider::class, // add
];
```

- Note: If you would like to use the Socialite Facade, you need to [install it.](https://github.com/laravel/socialite)

3. Event Listener
-----------------

[](#3-event-listener)

- Add `SocialiteProviders\Manager\SocialiteWasCalled` event to your `listen[]` array in `app/Providers/EventServiceProvider`.
- Add your listeners (i.e. the ones from the providers) to the `SocialiteProviders\Manager\SocialiteWasCalled[]` that you just created.
- The listener that you add for this provider is `'SocialiteProviders\\Apple\\AppleExtendSocialite@handle',`.
- Note: You do not need to add anything for the built-in socialite providers unless you override them with your own providers.

For example:

```
/**
 * The event handler mappings for the application.
 *
 * @var array
 */
protected $listen = [
    \SocialiteProviders\Manager\SocialiteWasCalled::class => [
        // add your listeners (aka providers) here
        'SocialiteProviders\\Apple\\AppleExtendSocialite@handle',
    ],
];
```

#### Reference

[](#reference)

- [Laravel docs about events](http://laravel.com/docs/events)

4. Configuration Setup
----------------------

[](#4-configuration-setup)

You will need to add an entry to the services configuration file so that after config files are cached for usage in production environment (Laravel command `artisan config:cache`) all config is still available.

#### Add to `config/services.php`.

[](#add-to-configservicesphp)

```
"apple" => [
  "client_id" => env("APPLE_CLIENT_ID"),
  "client_secret" => env("APPLE_CLIENT_SECRET"),
  "redirect" => env("APPLE_REDIRECT_URI"),
  "key_id" => env("APPLE_KEY_ID"),
  "team_id" => env("APPLE_TEAM_ID"),
  "auth_key" => env("APPLE_AUTH_KEY"),
  "client_secret_updated_at" => env("APPLE_CLIENT_SECRET_UPDATED_AT"),
  "refresh_token_interval_days" => env("APPLE_REFRESH_TOKEN_INTERVAL_DAYS"),
],
```

5. Usage
--------

[](#5-usage)

- [Laravel docs on configuration](http://laravel.com/docs/master/configuration)
- You should now be able to use it like you would regularly use Socialite (assuming you have the facade installed):

```
// authorize with provider
return Socialite::with('apple')->redirect();

// fetch user after callback
$user = Socialite::with('apple')->user();

// fetch user using token ( token from apple authentication )
$token = "eyJraWQiOiJlWGF1bm1MIiwiYWxnIjoiUlMyNTYifQ.eyJpc3MiOiJodHRwczovL2FwcGxlaWQuYXBwbGUuY29tIiwiYXVkIjoiY29tLnZvbmVjLnNpd2EuYXBpIiwiZXhwIjoxNTg3OTI2MjAzLCJpYXQiOjE1ODc5MjU2MDMsInN1YiI6IjAwMTcxMC44NThkN2NhNWUwZDg0MWI5ODFiNGVkYWY2NWM0M2ZmNi4xOTMyIiwiYXRfaGFzaCI6IjRHZFprR0k2X2Q3Qk5xMFFJTkhKZEEiLCJlbWFpbCI6ImFoaWxtdXJ1Z2VzYW5AZ21haWwuY29tIiwiZW1haWxfdmVyaWZpZWQiOiJ0cnVlIiwiYXV0aF90aW1lIjoxNTg3OTI1NjAxLCJub25jZV9zdXBwb3J0ZWQiOnRydWV9.ciXdwwkySnG-Ne_l9NqxuLkDPyptUVvJ_Puk10LSsXNEtLBAijskQhIjwi3HYsEXNLdlbMGfJ25rnlMWu93RoqYJFo_u_rFjH_4Xt9E_ddnqY147yZvVw5k912FtXabQSl2bFiR7yrzuQvznxyAiYFP9v9HvXyTcYS2ki6ISdPjmTyb927yWyGDx-aigksV752toAA8XXmjjEyi01eY-wng4CaV4mxjJU_bQSpnh6zGLpmI-lxqBIfSbvW1ukMDh9VW7fIRq9l3yFba91TAT9oBv7QQVcEAU7jHNzKX3qU7JvCfr7d2UUXFVkOxYZFz1HuPHB5C9QuYn5TtFUb2ozw";
$user = Socialite::with('apple')->userFromToken($token));
```

- [Laravel docs on Socialite](https://laravel.com/docs/master/socialite)
- [Demo Repo](https://github.com/VonecTechnologies/socialite-apple-sample/)

### Lumen Support

[](#lumen-support)

You can use Socialite providers with Lumen. Just make sure that you have facade support turned on and that you follow the setup directions properly.

**Note:** If you are using this with Lumen, all providers will automatically be stateless since **Lumen** does not keep track of state.

Also, configs cannot be parsed from the `services[]` in Lumen. You can only set the values in the `.env` file as shown exactly in this document. If needed, you can also override a config (shown below).

### Stateless

[](#stateless)

- You can set whether or not you want to use the provider as stateless. Remember that the OAuth provider (Twitter, Tumblr, etc) must support whatever option you choose.

**Note:** If you are using this with Lumen, all providers will automatically be stateless since **Lumen** does not keep track of state.

```
// to turn off stateless
return Socialite::with('apple')->redirect();

// to use stateless
return Socialite::with('apple')->stateless()->redirect();
```

### Overriding a config

[](#overriding-a-config)

If you need to override the provider's environment or config variables dynamically anywhere in your application, you may use the following:

```
$clientId = "secret";
$clientSecret = "secret";
$redirectUrl = "http://yourdomain.com/api/redirect";
$additionalProviderConfig = ['site' => 'meta.stackoverflow.com'];
$config = new \SocialiteProviders\Manager\Config($clientId, $clientSecret, $redirectUrl);
return Socialite::with('apple')->setConfig($config)->redirect();
```

### Retrieving the Access Token Response Body

[](#retrieving-the-access-token-response-body)

Laravel Socialite by default only allows access to the `access_token`. Which can be accessed via the `\Laravel\Socialite\User->token` public property. Sometimes you need access to the whole response body which may contain items such as a `refresh_token`.

You can get the access token response body, after you called the `user()` method in Socialite, by accessing the property `$user->accessTokenResponseBody`;

```
$user = Socialite::driver('apple')->user();
$accessTokenResponseBody = $user->accessTokenResponseBody;
```

#### Reference

[](#reference-1)

- [Laravel Socialite Docs](https://laravel.com/docs/socialite)
- [Sign in with Apple Docs](https://developer.apple.com/documentation/sign_in_with_apple)

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 80% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

7

Last Release

2256d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/20858668?v=4)[Ahilan SM](/maintainers/Ahilmurugesan)[@Ahilmurugesan](https://github.com/Ahilmurugesan)

---

Top Contributors

[![Ahilmurugesan](https://avatars.githubusercontent.com/u/20858668?v=4)](https://github.com/Ahilmurugesan "Ahilmurugesan (8 commits)")[![swathiramesh20](https://avatars.githubusercontent.com/u/29372403?v=4)](https://github.com/swathiramesh20 "swathiramesh20 (2 commits)")

---

Tags

laravelsocialiteapplelaravel socialitesign in with applesocialite appleclient key generatorclient key refreshapple client keyapple sign inlaravel apple

### Embed Badge

![Health badge](/badges/ahilmurugesan-socialiteproviders-apple/health.svg)

```
[![Health](https://phpackages.com/badges/ahilmurugesan-socialiteproviders-apple/health.svg)](https://phpackages.com/packages/ahilmurugesan-socialiteproviders-apple)
```

###  Alternatives

[socialiteproviders/apple

Apple OAuth2 Provider for Laravel Socialite

629.5M15](/packages/socialiteproviders-apple)[ahilmurugesan/socialite-apple-helper

Laravel Socialite Apple Login Helper to generate and manage Client Secret

13122.4k](/packages/ahilmurugesan-socialite-apple-helper)[patrickbussmann/oauth2-apple

Sign in with Apple OAuth 2.0 Client Provider for The PHP League OAuth2-Client

1152.8M12](/packages/patrickbussmann-oauth2-apple)[socialiteproviders/microsoft

Microsoft OAuth2 Provider for Laravel Socialite

347.3M25](/packages/socialiteproviders-microsoft)[nerdzlab/socialite-apple-sign-in

Extension of laravel/socialite package. Adds apple provider to sign in.

1947.7k](/packages/nerdzlab-socialite-apple-sign-in)[kovah/laravel-socialite-oidc

OpenID Connect OAuth2 Provider for Laravel Socialite

24133.5k](/packages/kovah-laravel-socialite-oidc)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
