laravel-integration-credentials maintained by edstevo
Description
A small package to store integration credentials against Laravel models
Author
Last update
2026/04/01 03:46
(dev-dependabot/github_actions/dependabot/fetch-metadata-3.0.0)
License
Downloads
128
Laravel Integration Credentials
Store integration credentials (provider/key/value) against any Eloquent model through a polymorphic relationship.
Installation
composer require edstevo/laravel-integration-credentials
Migrations are auto-discovered and run with your normal php artisan migrate flow.
If you prefer publishing package migrations first:
php artisan vendor:publish --tag="laravel-integration-credentials-migrations"
php artisan migrate
Usage
Add the trait to any model that should own credentials:
<?php
namespace App\Models;
use EdStevo\LaravelIntegrationCredentials\Models\Concerns\MorphManyIntegrationCredentials;
use Illuminate\Database\Eloquent\Model;
class Store extends Model
{
use MorphManyIntegrationCredentials;
}
Set and read credentials:
$store->setIntegrationCredential('shopify', 'access_token', 'token_123');
$credential = $store->getIntegrationCredential('shopify', 'access_token');
$value = $store->getIntegrationCredentialValue('shopify', 'access_token');
Use expirations:
$store->setIntegrationCredential(
provider: 'shopify',
key: 'access_token',
value: 'token_123',
expiresAt: now()->addHour(),
);
$validValue = $store->getIntegrationCredentialValue('shopify', 'access_token');
$includeExpired = $store->getIntegrationCredentialValue('shopify', 'access_token', allowExpired: true);
Delete one credential or all credentials for a provider:
$store->forgetIntegrationCredential('shopify', 'access_token');
$store->forgetIntegrationProvider('shopify');
Query models by integration credential value:
$store = Store::whereHasIntegrationCredentialValue('shopify', 'shop_id', '12345')->first();
$storeIncludingExpired = Store::whereHasIntegrationCredentialValue(
provider: 'shopify',
key: 'shop_id',
value: '12345',
mustBeValid: false,
)->first();
Testing
composer test
Changelog
See CHANGELOG.md.
Contributing
See CONTRIBUTING.md.
Security
See SECURITY.md.
License
The MIT License (MIT). See LICENSE.md.