2017-09-18 6 views
1

J'utilise essayer d'effectuer SSO en utilisant Auth0 pour wordPress et le discours de ma propre application. le flux est mentionné ci-dessous.Comment effectuer une authentification unique avec Discourse et Auth0?

Image added here (low on rep) so cant post

L'utilisateur entre le nom d'utilisateur et mot de passe dans l'application, les détails sont envoyés au serveur qui authentifie l'utilisateur avec l'API auth0 et renvoyer le jeton.

J'ai installé auth0 SSO plugin2 de GitHub dans Discourse et tous les ID client, les secrets du client sont ajoutés au plugin.

Je veux savoir à qui effectuer l'authentification unique en cas de discours lorsque je me suis connecté à mon application.

Pour WordPress, utilisez la méthode suivante.

<form *ngIf="userService.isAuthenticated()" ngNoForm action="http://xx.xx.xx.xx/index.php?auth0=implicit&client_id=xxxxxxxxxxxxxxxxxxxxxxxxx&connection=xxxxxxxxxx" 
    method="post"> 
    <input class="hidden" type="text" id="token" name="token" value="{{tokenValueIsHereReturnedbyAuth0Authentication}}" /> 
    <input class="hidden" type="text" id="redirect_to" name="redirect_to" value="http://xx.xx.xx.xx/index.html" /> 
    <input class="btn btn-primary pull-right" type="submit" value="View" /> 
</form> 

Alors, comment faire une chose similaire dans le discours?

J'ai essayé ce qui suit

  1. https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045?u=deanmarktaylor

Cependant je ne pouvais pas terminer que je ne sais pas ce qui est

https://somesite.com/sso?sso=PAYLOAD&sig=SIG

UTILE et SIG est

Mise à jour:

La charge utile je pense: ce Auth0 m'a donné comme access_token est la charge utile, qui est codé comme Base64 (en utilisant: base64encode dot org) et SIG est un hachage HMAC-SHA256 de la charge utile en utilisant sso_secret comme la clé et charge utile codée Base64 (générateur de hmac-générateur freeformatter dot com slash)

Répondre

0

Veuillez consulter mon article sur la façon d'intégrer une authentification unique transparente utilisant Auth0 avec Discourse.

Vous aurez essentiellement besoin de configurer un nouveau Auth0 Rule qui utilise une bibliothèque déjà développée qui prend en charge la façon Discourse de signer des requêtes. À l'aide de votre ID client et de votre secret client, copiez et collez le code de cette règle et améliorez la gestion de l'authentification unique sans utiliser de plugin supplémentaire. Agréable et facile :)

https://medium.com/leog-s-blog/discourse-sso-with-auth0-e49486d0294a