Skip to content

Commit 12a1a8a

Browse files
committed
OIDC auth
1 parent c61c463 commit 12a1a8a

1 file changed

Lines changed: 37 additions & 4 deletions

File tree

src/content/docs/installation.md

Lines changed: 37 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -150,19 +150,44 @@ If you want to specify your own key/certificate pair, simply pass the `--ssl-key
150150

151151
Note! You cannot pass an IP address to the hostname parameter! You need a DNS record setup.
152152

153-
### Enable MicMac
153+
### Enable OIDC Authentication
154+
155+
WebODM supports [OIDC](https://openid.net/) (OpenID Connect) authentication, which means you can provide a Single Sign On (SSO) experience using an auth provider like Google. To enable one or more providers, create a `local_settings.py` file with the following:
156+
157+
```python
158+
OIDC_AUTH_PROVIDERS = [
159+
{
160+
'name': 'Google',
161+
'icon': 'fab fa-google', # valid Font-Awesome icon, or leave blank
162+
'client_id': '<OAUTH2_CLIENT_ID>',
163+
'client_secret': '<OAUTH2_CLIENT_SECRET>',
164+
'auth_endpoint': 'https://accounts.google.com/o/oauth2/v2/auth',
165+
'token_endpoint': 'https://oauth2.googleapis.com/token',
166+
'userinfo_endpoint': 'https://openidconnect.googleapis.com/v1/userinfo'
167+
},
168+
# Add more providers below
169+
]
170+
```
154171

155-
WebODM can use [MicMac](https://github.com/OpenDroneMap/micmac) as a processing engine via [NodeMICMAC](https://github.com/OpenDroneMap/NodeMICMAC/). To add MicMac, simply run:
172+
The `client_id` and `client_secret` values are given by the auth provider. You'll need to register an application. With Google, you can do that from the [Google Cloud Console](https://console.cloud.google.com).
156173

157-
`./webodm.sh restart --with-micmac`
174+
When registering the application, set the **Authorized redirect URIs** with:
158175

159-
This will create a "node-micmac-1" processing node on the same machine running WebODM. Please note that NodeMICMAC is in active development and is currently experimental. If you find issues, please [report them](https://github.com/OpenDroneMap/NodeMICMAC/issues) on the NodeMICMAC repository.
176+
* `https://webodm.myorg.com/oidc/callback/`
160177

178+
The endpoint URLs are often published at a `.well-known/openid-configuration` URL. For example, Google publishes theirs at https://accounts.google.com/.well-known/openid-configuration.
179+
180+
Then restart WebODM with:
181+
182+
```
183+
./webodm.sh restart --settings /path/to/local_settings.py
184+
```
161185

162186
### Enable IPv6
163187

164188
Your installation must first have a public IPv6 address.
165189
To enable IPv6 on your installation, you need to activate IPv6 in Docker by adding the following to a file located at /etc/docker/daemon.json:
190+
166191
```bash
167192
{
168193
"ipv6": true,
@@ -179,6 +204,14 @@ To add IPv6, simply run:
179204
Note: When using `--ssl` mode, you cannot pass an IP address to the hostname parameter; you must set up a DNS AAAA record. Without `--ssl` mode enabled, access the site at (e.g., http://[2001:0db8:3c4d:0015::1]:8000). The brackets around the IPv6 address are essential!
180205
You can add a new NodeODX node in WebODM by specifying an IPv6 address. Don't forget to include brackets around the address! e.g., [2001:0db8:fd8a:ae80::1]
181206

207+
### Enable MicMac
208+
209+
WebODM can use [MicMac](https://github.com/OpenDroneMap/micmac) as a processing engine via [NodeMICMAC](https://github.com/OpenDroneMap/NodeMICMAC/). To add MicMac, simply run:
210+
211+
`./webodm.sh restart --with-micmac`
212+
213+
This will create a "node-micmac-1" processing node on the same machine running WebODM. Please note that NodeMICMAC is in active development and is currently experimental. If you find issues, please [report them](https://github.com/OpenDroneMap/NodeMICMAC/issues) on the NodeMICMAC repository.
214+
182215
## Common Troubleshooting
183216

184217
| Symptoms | Possible Solutions |

0 commit comments

Comments
 (0)