Download the PHP package daemonlabs/shield-oidc without Composer

On this page you can find all versions of the php package daemonlabs/shield-oidc. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package shield-oidc

Shield OIDC

Single sign-on for CodeIgniter Shield with any OpenID Connect provider: Microsoft Entra ID (Azure AD), Okta, Google Workspace, Keycloak, Auth0, Authentik, Zitadel and the rest.

People click "Sign in with Microsoft", sign in at their organization's provider, and come back signed in to your app as a normal Shield user, with groups mapped from the provider's roles if you want.

Read the full documentation: step-by-step provider guides, every option, account matching, the security model and troubleshooting. (Source in docs/; it's a single page that also works offline.)

Why this package

Shield handles passwords, magic links and tokens. Organizations often want their own sign-in instead: one place to add and remove people, their MFA policies, no extra passwords. Doing that safely takes more than an OAuth redirect:

Requirements

Setup

  1. Install: composer require daemonlabs/shield-oidc, then php spark oidc:setup to create app/Config/ShieldOidc.php. Routes, commands, helper and messages are found by module discovery.
  2. Exempt the routes from Shield's global session filter if you use it: add 'oidc/*' to its except list in app/Config/Filters.php.
  3. Register your app with the provider (see the provider guides), add it to app/Config/ShieldOidc.php, and run php spark oidc:check for the redirect URI to register.
  4. Show the button on your login page:

Settings are checked strictly: a misspelled or wrongly typed setting is an error, never silently ignored.

Provider notes

These come from each provider's documentation; the full guides have the click paths.

Options (summary)

Option What it does
type, issuer, tenant, authority, clientId, clientSecret Which provider and app registration
label, scopes, authParams, redirectUri The sign-in request and button
register, allowedTenants, allowedDomains, requiredClaims Who may sign in or get an account
linkByEmail verified (default), trusted or never: linking existing accounts by email
subjectClaim, usernameClaim, defaultGroup How users are identified and created
groupsClaim, groupMap, groupTenants, syncGroups Mapping roles/groups to Shield groups
logoutAtProvider Also end the provider session on /oidc/logout
loginActions Run Shield's login action (e.g. Email2FA) for SSO too
tokenAuthMethod, trustedAudiences, algorithms, userinfo Protocol details for unusual setups
reauthParams, requireAuthTime How a fresh sign-in is requested and checked when connecting an account

See the options reference for defaults and details.

Accounts and linking

Security

Please report vulnerabilities privately via GitHub's "Report a vulnerability" (Security tab), not in public issues. See security section.

Testing

The suite runs a fake identity provider with real RSA and EC keys: token forgeries, weak and malformed keys, key rotation and outages, the per-provider rules for Entra and Google, account takeover attempts, Shield actions and events, and the full browser round trip through Shield. The keys in tests/Support/keys are throwaway test keys and aren't part of the installed package.

License

MIT. See LICENSE.


All versions of shield-oidc with dependencies

PHP Build Version
Package Version
Requires php Version ^8.1
ext-curl Version *
ext-json Version *
ext-openssl Version *
codeigniter4/shield Version ^1.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package daemonlabs/shield-oidc contains the following files

Loading the files please wait ...