plugin:oauth
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
plugin:oauth [2019-05-15 23:52] – version upped andi | plugin:oauth [2024-03-05 23:51] (current) – version upped andi | ||
---|---|---|---|
Line 2: | Line 2: | ||
---- plugin ---- | ---- plugin ---- | ||
- | description: | + | description: |
author | author | ||
email : dokuwiki@cosmocode.de | email : dokuwiki@cosmocode.de | ||
type : auth, action | type : auth, action | ||
- | lastupdate : 2019-05-15 | + | lastupdate : 2024-03-05 |
- | compatible : Hrun, Detritus, Frusterick Manners | + | compatible : Greebo, Hogfather, Igor, Jack Jackrum, Kaos |
depends | depends | ||
conflicts | conflicts | ||
Line 21: | Line 21: | ||
---- | ---- | ||
- | [[http:// | + | [[http:// |
- | The development of this plugin has been sponsored by [[http:// | + | The initial |
===== Installation ===== | ===== Installation ===== | ||
- | [[https:// | + | |
+ | [[https:// | ||
Search and install the plugin using the [[plugin: | Search and install the plugin using the [[plugin: | ||
+ | |||
+ | Install and configure an oAuth plugin for your auth provider, e.g. [[plugin: | ||
After setup, you have to select '' | After setup, you have to select '' | ||
- | ==== 2014-05-05a Ponder Stibbons release ==== | + | :!: As of **2021-12-15** this plugin provides **only** an oAuth framework, particular services are **no longer** bundled. To actually be able to use it you have to install and configure at least one of the auth provider plugins listed below under [[# |
- | :!: Please note: this plugin | + | If you need the older version of this plugin, download [[https:// |
- | * [[github> | ||
- | * [[github> | ||
===== Configuration ===== | ===== Configuration ===== | ||
- | The plugin | + | The plugin |
- | + | * [[plugin: | |
- | * Google+ | + | * [[plugin: |
- | * Yahoo | + | * [[plugin: |
- | * Github | + | * [[plugin: |
- | * Auth0 | + | * [[plugin: |
- | * Dataporten | + | * [[plugin: |
+ | * [[plugin: | ||
+ | * [[plugin: | ||
- | More can easily be added (see [[# | + | More can easily be created |
- | To be able to use one of those providers you need to create an " | + | To be able to use one of those providers you need to create an " |
The setup of these " | The setup of these " | ||
Line 62: | Line 65: | ||
Once the application is set up it will display a " | Once the application is set up it will display a " | ||
- | ==== Google specific ==== | + | In addition the oauth plugin has a few global options that will apply to all provider plugins. |
- | Do not forget | + | | '' |
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
Line 74: | Line 81: | ||
{{ : | {{ : | ||
+ | |||
When a new user logs in through one of the configured oAuth providers a standard user entry is created and associated with the oAuth provider. Additional providers can be enabled in the user's profile (Associations are simple group memberships). | When a new user logs in through one of the configured oAuth providers a standard user entry is created and associated with the oAuth provider. Additional providers can be enabled in the user's profile (Associations are simple group memberships). | ||
Users can login through any of the services enabled in their profile - for that to work, their email address configured in DokuWiki must match with the primary address known to the service. | Users can login through any of the services enabled in their profile - for that to work, their email address configured in DokuWiki must match with the primary address known to the service. | ||
- | :!: Please note: this plugin will never support login via Twitter because Twitter doesn' | + | Each logged in user is added automatically |
+ | * [[https:// | ||
- | > There is [[https:// | + | ===== Development ===== |
+ | Support for new Identity Providers (IdP) can be added by creating new plugins. To implement authentication with a new Identity Provider, two classes are needed: a service and an adapter. | ||
- | ===== Development ===== | + | Have a look at [[https:// |
- | This plugin comes with a few predefined services. In the backend it uses the [[https:// | + | ==== Service ==== |
- | Pull Requests | + | The service implements all the specifics |
- | This plugin can easily integrate with your own service. A " | + | If the [[https:// |
- | To implement your own service, simply copy the Doorkeeper | + | If no service |
- | === Change Log === | + | Ultimately the Service needs to implement a [[https:// |
- | {{rss>https:// | + | For an oAuth 2 based IdP you probably want to inherent from [[https:// |
+ | |||
+ | You most probably want to override the following methods: | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ==== Adapter ==== | ||
+ | |||
+ | The adapter implements all meta info needed for the work with DokuWiki and most importantly how to fetch user data once an oAuth authorization happened. | ||
+ | |||
+ | An adapter is a DokuWiki [[devel: | ||
+ | |||
+ | Because the adapter is an action plugin component, it needs to follow the specific naming scheme for plugins. Eg. the class needs to be named '' | ||
+ | |||
+ | The methods you want to override here are | ||
+ | |||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | ==== Additionals ==== | ||
+ | |||
+ | You should provide a simple SVG icon to be used on the login button. Place it as '' | ||
+ | |||
+ | Provide config and translations for at least a '' | ||
+ | |||
+ | |||
+ | ===== Change Log ===== | ||
+ | |||
+ | {{rss> | ||
plugin/oauth.1557957120.txt.gz · Last modified: 2019-05-15 23:52 by andi