| Install | |
|---|---|
composer require igonics/laravel-disqus-sso |
A simple Laravel packages used to generate payload for the Disqus SSO feature.
composer require igonics/laravel-disqus-sso
app/config/app.php:'IGonics\Disqus\DisqusServiceProvider',
app/config/app.php:'DisqusSSO' => 'IGonics\Disqus\Facades\DisqusSSO',
php artisan vendor:publish --provider="IGonics\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() }}';
}
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.