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',
- Add the alias to
app/config/app.php
:
'DisqusSSO' => 'Modbase\Disqus\Facades\DisqusSSO',
- Publish the configuration file:
php artisan vendor:publish --provider="Modbase\Disqus\DisqusServiceProvider" --tag="config"
Open config/disqus-sso.php
and fill in your Disqus secret and public API 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.