PHPackages                             tranghaviet/imgur-laravel - 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. [API Development](/categories/api)
4. /
5. tranghaviet/imgur-laravel

ActiveLibrary[API Development](/categories/api)

tranghaviet/imgur-laravel
=========================

Laravel Package for Imgur API 3. Provides easy access to the j0k3r/php-imgur-api-client library.

1.2(4y ago)017MITPHPPHP ^7|^8

Since May 2Pushed 4y agoCompare

[ Source](https://github.com/tranghaviet/Imgur-Laravel)[ Packagist](https://packagist.org/packages/tranghaviet/imgur-laravel)[ RSS](/packages/tranghaviet-imgur-laravel/feed)WikiDiscussions master Synced yesterday

READMEChangelog (4)Dependencies (4)Versions (9)Used By (0)

Description
-----------

[](#description)

A Laravel (&gt;= 5.8) Package for using the Imgur api. Internally we use [j0k3r/php-imgur-api-client](https://github.com/j0k3r/php-imgur-api-client). The package provides a service provider, some configuration and a facade, such that you should be able to get started with writing your app immediately.

For more detailed documentation on how to use `j0k3r/php-imgur-api-client` you should look at their [documentation](https://github.com/j0k3r/php-imgur-api-client).

### Quick example

[](#quick-example)

```
use Redeman\Imgur\Facades\Imgur;

$images = Imgur::api('gallery')->randomGalleryImages();

foreach ($images as $image)
{
    echo '';
}
```

Getting started
---------------

[](#getting-started)

First you will have to install the package using composer

```
composer require tranghaviet/imgur-laravel

```

Imgur uses Oauth 2.0 to authenticate users. Therefore you have get a authentication token from your users if you want them to be able to view and upload images. In Laravel you can do this by first add a route middleware to the `Redeman\Imgur\Middleware\AuthenticateImgur` middleware in your `App\Http\Kernel`.

```
/**
 * The application's route middleware.
 *
 * @var array
 */
protected $routeMiddleware = [
    // your other route middleware
    'imgur' => \Redeman\Imgur\Middleware\AuthenticateImgur::class,
];
```

Next you should add the `imgur` middleware to any route were a user should be authenticated by Imgur. The `AuthenticateImgur` middleware will store and retrieve the user's access token. If the user is not authenticated by the Imgur (meaning your application doesn't know the user's access token), then the user will be redirected to a route with the name `imgur.authenticate`. If you are a Laravel 4 user, then you only need to add the service provider. This provider will register a `imgur` filter which you can use for your routes, see the example below how to do this. In the following section we show an example of some simple routes.

Example
-------

[](#example)

`routes.php`:

```
// Show the user a random image
Route::get('/', function() {
    $client = App::make('Imgur\Client');
    $images = $client->api('gallery')->randomGalleryImages();

    return view('imgur.images')->with('images', $images);
})->middleware('imgur');

// Ask the user to authenticate using Imgur's services
Route::get('imgur/authenticate', ['as' => 'imgur.authenticate',  function() {
    $client = App::make('Imgur\Client');

    return view('imgur.authenticate')->with('imgurUrl', $client->getAuthenticationUrl());
}]);
```

`imgur.images.blade.php`:

```
Here are some images for you to enjoy:
@foreach ($images as $image)

@endforeach
```

`imgur.authenticate.blade.php`:

```
You need to register with Imgur in order to visit this page:
Click to authorize
```

Now you're all set! The next section describes how you can configure the package to use your client id, secret and a custom `TokenStorage`.

Configuration
-------------

[](#configuration)

You can publish the configuration file:

```
php artisan vendor:publish --provider="Redeman\Imgur\ImgurServiceProvider"

```

Now you can fill in the appropriate values for `client_id` and `client_secret`. It is encouraged to use a `.env` which contains your client id and secret.

```
/*
 * Public client id
 */
'client_id' => env('CLIENT_ID'),

/**
 * Client secret
 */
'client_secret' => env('CLIENT_SECRET'),
```

### Using a custom `TokenStorage`

[](#using-a-custom-tokenstorage)

The `AuthenticateImgur` middleware uses a `Redeman\Imgur\TokenStorage\Storage` interface to store a user's access token. By default we provide a `SessionStorage` which will save the data in the user's session. However you could also use a database or some other storage facility. To do this you will have to change the `token_storage` value in your `config/imgur.php` file to the name of the class that you want to use.

Todos:
------

[](#todos)

- More storage facilities by default
- Add tests for the middleware

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 65% 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 ~329 days

Recently: every ~517 days

Total

8

Last Release

1724d ago

Major Versions

0.0.2 → 1.0.02015-12-22

PHP version history (2 changes)0.0.1PHP &gt;=5.4.0

1.1PHP ^7|^8

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/23404016?v=4)[Ha Viet Trang](/maintainers/tranghaviet)[@tranghaviet](https://github.com/tranghaviet)

---

Top Contributors

[![MarkRedeman](https://avatars.githubusercontent.com/u/1114829?v=4)](https://github.com/MarkRedeman "MarkRedeman (13 commits)")[![tranghaviet](https://avatars.githubusercontent.com/u/23404016?v=4)](https://github.com/tranghaviet "tranghaviet (7 commits)")

---

Tags

apilaravelwrapperimgur

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tranghaviet-imgur-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/tranghaviet-imgur-laravel/health.svg)](https://phpackages.com/packages/tranghaviet-imgur-laravel)
```

###  Alternatives

[darkaonline/l5-swagger

OpenApi or Swagger integration to Laravel

2.9k34.0M112](/packages/darkaonline-l5-swagger)[knuckleswtf/scribe

Generate API documentation for humans from your Laravel codebase.✍

2.3k12.2M45](/packages/knuckleswtf-scribe)[aerni/laravel-spotify

A Laravel wrapper for the Spotify Web API

209145.6k](/packages/aerni-laravel-spotify)

PHPackages © 2026

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