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);
}
}