discourse.html 6.79 KB
Newer Older
Xavier Guimard's avatar
Xavier Guimard committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
  <meta charset="utf-8" />
  <title>documentation:2.0:applications:discourse</title>
<meta name="generator" content="DokuWiki"/>
<meta name="robots" content="index,follow"/>
<meta name="keywords" content="documentation,2.0,applications,discourse"/>
<link rel="search" type="application/opensearchdescription+xml" href="../lib/exe/opensearch.html" title="LemonLDAP::NG"/>
<link rel="start" href="discourse.html"/>
<link rel="contents" href="discourse.html" title="Sitemap"/>
<link rel="stylesheet" type="text/css" href="../lib/exe/css.php.t.bootstrap3.css"/>
<!-- //if:usedebianlibs
  <link rel="stylesheet" type="text/css" href="/javascript/bootstrap/css/bootstrap.min.css" />
//elsif:useexternallibs
  <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"></script>
//elsif:cssminified
  <link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.min.css" />
//else -->
  <link rel="stylesheet" type="text/css" href="/static/bwr/bootstrap/dist/css/bootstrap.css" />
<!-- //endif -->
<script type="text/javascript">/*<![CDATA[*/var NS='documentation:2.0:applications';var JSINFO = {"id":"documentation:2.0:applications:discourse","namespace":"documentation:2.0:applications"};
/*!]]>*/</script>
<script type="text/javascript" charset="utf-8" src="../lib/exe/js.php.t.bootstrap3.js"></script>
<!-- //if:usedebianlibs
<script type="text/javascript" src="/javascript/jquery/jquery.min.js"></script>
//elsif:useexternallibs
<script type="text/javascript" src="http://code.jquery.com/jquery-2.2.0.min.js"></script>
//elsif:jsminified
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.min.js"></script>
//else -->
<script type="text/javascript" src="/static/bwr/jquery/dist/jquery.js"></script>
<!-- //endif -->
<!-- //if:usedebianlibs
  <script type="text/javascript" src="/javascript/jquery-ui/jquery-ui.min.js"></script>
//elsif:useexternallibs
  <script type="text/javascript" src="http://code.jquery.com/ui/1.10.4/jquery-ui.min.js"></script>
//elsif:jsminified
  <script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.min.js"></script>
//else -->
  <script type="text/javascript" src="/static/bwr/jquery-ui/jquery-ui.js"></script>
<!-- //endif -->
</head>
<body>
<div class="dokuwiki export container">
<!-- TOC START -->
<div id="dw__toc">
<h3 class="toggle">Table of Contents</h3>
<div>

<ul class="toc">
<li class="level1"><div class="li"><a href="#presentation">Presentation</a></div></li>
<li class="level1"><div class="li"><a href="#discourse_configuration">Discourse configuration</a></div>
<ul class="toc">
<li class="level2"><div class="li"><a href="#plugin_installation">Plugin installation</a></div></li>
<li class="level2"><div class="li"><a href="#plugin_configuration">Plugin configuration</a></div></li>
</ul></li>
</ul>
</div>
</div>
<!-- TOC END -->

<h1 class="sectionedit1" id="discourse">Discourse</h1>
<div class="level1">

<p>
<a href="discourse.jpg_documentation_2.0_applications_discourse.html" class="media" title="applications:discourse.jpg"><img src="discourse.jpeg" class="mediacenter" title="discourse.jpg" alt="discourse.jpg" /></a>
</p>

</div>
<!-- EDIT1 SECTION "Discourse" [1-61] -->
<h2 class="sectionedit2" id="presentation">Presentation</h2>
<div class="level2">

<p>
<a href="https://www.discourse.org/" class="urlextern" title="https://www.discourse.org/"  rel="nofollow">Discourse</a> is a conversation-oriented forum engine 
</p>

<p>
Discourse supports <a href="https://meta.discourse.org/t/official-single-sign-on-for-discourse-sso/13045" class="urlextern" title="https://meta.discourse.org/t/official-single-sign-on-for-discourse-sso/13045"  rel="nofollow">its own Single-Sign-On scheme</a> but is also compatible with standard protocols such as <abbr title="Security Assertion Markup Language">SAML</abbr> and OpenID Connect, through plugins. 
</p>

<p>
This documentation illustrates the OpenID Connect plugin.
</p>

<p>
First, make sure you have set up LemonLDAP::NG &#039;s <a href="../openidconnectservice.html" class="wikilink1" title="documentation:2.0:openidconnectservice">OpenID Connect service</a> and added <a href="../idpopenidconnect.html" class="wikilink1" title="documentation:2.0:idpopenidconnect">a Relaying Party for your Discourse instance</a>
</p>

<p>
Discourse can use the following OpenID Connect attributes to fill the user&#039;s profile:
</p>
<ul>
<li class="level1"><div class="li"> name</div>
</li>
<li class="level1"><div class="li"> email</div>
</li>
<li class="level1"><div class="li"> given_name</div>
</li>
<li class="level1"><div class="li"> family_name</div>
</li>
<li class="level1"><div class="li"> preferred_username</div>
</li>
<li class="level1"><div class="li"> picture</div>
</li>
</ul>

<p>
Make sure you create a username and password for the Relying Party, and that the discourse callback <abbr title="Uniform Resource Locator">URL</abbr> is allowed : <a href="https://discourse.example.com/auth/oidc/callback" class="urlextern" title="https://discourse.example.com/auth/oidc/callback"  rel="nofollow">https://discourse.example.com/auth/oidc/callback</a>
</p>

</div>
<!-- EDIT2 SECTION "Presentation" [62-985] -->
<h2 class="sectionedit3" id="discourse_configuration">Discourse configuration</h2>
<div class="level2">

</div>
<!-- EDIT3 SECTION "Discourse configuration" [986-1022] -->
<h3 class="sectionedit4" id="plugin_installation">Plugin installation</h3>
<div class="level3">

<p>
Install the <a href="https://meta.discourse.org/t/openid-connect-authentication-plugin/103632" class="urlextern" title="https://meta.discourse.org/t/openid-connect-authentication-plugin/103632"  rel="nofollow">Discourse OpenID Connect Plugin</a> according to these instructions
</p>

</div>
<!-- EDIT4 SECTION "Plugin installation" [1023-1207] -->
<h3 class="sectionedit5" id="plugin_configuration">Plugin configuration</h3>
<div class="level3">

<p>
Browse to your Discourse admin interface, and to the plugin settings
</p>
<ul>
<li class="level1"><div class="li"> openid_connect_enabled: <em>Yes</em></div>
</li>
<li class="level1"><div class="li"> openid_connect_discovery_document: <a href="https://auth.example.com/.well-known/openid-configuration" class="urlextern" title="https://auth.example.com/.well-known/openid-configuration"  rel="nofollow">https://auth.example.com/.well-known/openid-configuration</a></div>
</li>
<li class="level1"><div class="li"> openid_connect_client_id: <em>Client ID you chose when configuring the Relying Party</em></div>
</li>
<li class="level1"><div class="li"> openid_connect_client_secret: <em>Client Secret you chose when configuring the Relying Party</em></div>
</li>
<li class="level1"><div class="li"> openid_connect_authorize_scope: <em>openid email profile</em></div>
</li>
</ul>

</div>
<!-- EDIT5 SECTION "Plugin configuration" [1208-] --></div>
</body>
</html>