Skip to content
Snippets Groups Projects
Commit ab2705ef authored by pascoual's avatar pascoual Committed by kaiyou
Browse files

Add : app template for WriteFreely

parent 995cd008
No related branches found
No related tags found
1 merge request!20Add 'remember me' button
Pipeline #1194 passed
......@@ -58,3 +58,32 @@ class SynapseApplication(base.SAMLApplication):
obj=service,
application_uri=service.config.get("application_uri")
)
@register("writefreely")
class GitlabApplication(base.OIDCApplication):
""" WriteFreely is free, open source, ActivityPub compliant blog software.
"""
name = _("WriteFreely")
class Form(base.BaseForm):
application_uri = fields.StringField(_("WriteFreely URL"), [validators.URL(require_tld=False)])
submit = fields.SubmitField(_('Submit'))
def populate_service(self, form, service):
service.profile_regex = "[a-z0-9_.\-]*"
callback_uri = form.application_uri.data + "/oauth/callback/generic"
service.config.update({
"application_uri": form.application_uri.data,
"token_endpoint_auth_method": "client_secret_basic",
"redirect_uris": [callback_uri],
"grant_types": ["authorization_code"],
"response_types": ["code"],
"special_mappings": ["ignore_scopes"]
})
self.fill_service(service)
def populate_form(self, service, form):
form.process(
obj=service,
application_uri=service.config.get("application_uri")
)
<h3>Setting up WriteFreely</h3>
<p>WriteFreely supports OIDC authentication through Oauth2.</p>
<p>In order to configure Oauth2 for WriteFreely, you may copy then paste the following lines directly into your WriteFreely config.ini and restart.</p>
<pre>
[oauth.generic]
client_id = {{ service.config["client_id"] }}
client_secret = {{ service.config["client_secret"] }}
host = {{ url_for('account.home', _external=True).split('/account')[0] }}
display_name = Hiboo
callback_proxy =
callback_proxy_api =
token_endpoint = {{ url_for("sso.oidc_token", service_uuid=service.uuid, _external=False) }}
inspect_endpoint = {{ url_for("sso.oidc_userinfo", service_uuid=service.uuid, _external=False) }}
auth_endpoint = {{ url_for("sso.oidc_authorize", service_uuid=service.uuid, _external=False) }}
</pre>
{% include "application_oidc.html" %}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment