Skip to content

IGonics/laravel-disqus-sso

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

Laravel Disqus SSO

A simple Laravel packages used to generate payload for the Disqus SSO feature.

Installation

  • Install the package via composer:

composer require igonics/laravel-disqus-sso

  • Add the service provider to app/config/app.php:

'IGonics\Disqus\DisqusServiceProvider',

  • Add the alias to app/config/app.php:

'DisqusSSO' => 'IGonics\Disqus\Facades\DisqusSSO',

  • Publish the configuration file:

php artisan vendor:publish --provider="IGonics\Disqus\DisqusServiceProvider" --tag="config"

Configuration

Open config/disqus-sso.php and fill in your Disqus secret and public API keys. You can find those at your Disqus applications page.

Usage

Using this package is very easy. Add the following JavaScript code before the Disqus initialisation:

JavaScript using Blade Syntax

var disqus_config = function () {
    // The generated payload which authenticates users with Disqus
    this.page.remote_auth_s3 = '{{ DisqusSSO::payload(Auth::user()) }}';
    this.page.api_key = '{{ DisqusSSO::publicKey() }}';
}

JavaScript using vanilla PHP

var disqus_config = function () {
    // The generated payload which authenticates users with Disqus
    this.page.remote_auth_s3 = '<?php echo DisqusSSO::payload(Auth::user()) ?>';
    this.page.api_key = '<?php echo DisqusSSO::publicKey() ?>';
}

The payload function accepts two different types of input:
a) An array with the id, username, email, avatar and url of the user you're trying to authenticate. See the Disqus help for more information about these.
b) A laravel Model instance, for example Auth::user() as shown in the example.

Maintained By

IGonics