Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Oauth Bundle Laravel Package

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.).

View on GitHub
Deep Wiki
Context7

Step 2x: Setup Apple

First you will have to register your application on Apple Developers website. Check out the documentation for more information: https://developer.apple.com/documentation/sign_in_with_apple/configuring_your_environment_for_sign_in_with_apple

Next configure a resource owner of type apple with appropriate client_id, client_secret and scope. Example scope values include:

  • name
  • email
# config/packages/hwi_oauth.yaml

hwi_oauth:
    resource_owners:
        any_name:
            type:                apple
            client_id:           <client_id>
            client_secret:       <client_secret>
            scope:               "name email"

Apple doesn't provide a ready-to-use client_secret, it has to be generated manually using a private key downloadable on Apple Developer. The generated client_secret has an expiration date, so it has to be regenerated continually. See Documentation

To overcome this inconvenience, you can configure an automatic client_secret generation as following. This requires PHP-JWT to work. (composer require firebase/php-jwt)

# config/packages/hwi_oauth.yaml

hwi_oauth:
    resource_owners:
        any_name:
            type:                apple
            client_id:           <client_id>
            client_secret:       auto
            scope:               "name email"
            options:
                auth_key:        <auth_key>
                key_id:          <key_id>
                team_id:         <team_id>

The auth key can be loaded using an environment variable processor:%env(file:resolve:APPLE_AUTH_KEY_PATH)% with APPLE_AUTH_KEY_PATH=%kernel.project_dir%/path/to/AuthKey_XXXXXXXXXX.p8 set to your .env.

When you're done. Continue by configuring the security layer or go back to setup more resource owners.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
babenkoivan/elastic-client
innmind/static-analysis
innmind/coding-standard
datacore/hub-sdk
alengo/sulu-http-cache-bundle
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata
splash/openapi
splash/scopes
splash/toolkit
testo/output-teamcity