PHP code example of tinfot / discourse-sso

1. Go to this page and download the library: Download tinfot/discourse-sso library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

tinfot / discourse-sso example snippets


composer 



namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Tinfot\Discourse\Payload;
use Tinfot\Discourse\User;
use Tinfot\Discourse\Sso;

class DiscourseController extends Controller {
    
    public function sso(Request $request) {
        $payload = new Payload(config('discourse.secret'));
        if (!$payload->validate($request->input('sso'), $request->input('sig'))) {
            abort(404);
        }

        $auth = $request->user();

        $nonce = $payload->decode($request->input('sso'));
        $sso   = new Sso($nonce, config('discourse.secret'));
        $sso->setParameters(new User($auth->id, $auth->email, $auth->name));
        $data = $sso->build($payload);
        return redirect(config('discourse.discourse_url') . $data);
    }
}