A simple Laravel packages used to generate payload for the Disqus SSO feature.
- Install the package via composer:
composer require modbase/disqus-sso
- Add the service provider to
app/config/app.php
:
Modbase\Disqus\DisqusServiceProvider::class,
- Add the alias to
app/config/app.php
:
'DisqusSSO' => Modbase\Disqus\Facades\DisqusSSO::class,
- Publish the configuration file:
php artisan vendor:publish
Open your .env
file and fill in your DISQUS_PUBLIC_KEY
and DISQUS_SECRET_KEY
keys. You can find those at your Disqus applications page.
Using this package is very easy. Add the following JavaScript code before the Disqus initialisation:
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() }}';
}
Note that I'm using the Blade syntax here, which is not required of course.
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.