Skip to content

Commit f9b92cf

Browse files
committed
docs(readme): add authentik integration
add instructions on implementing authentik integration
1 parent cdf8274 commit f9b92cf

File tree

1 file changed

+104
-22
lines changed

1 file changed

+104
-22
lines changed

README.md

Lines changed: 104 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ KeeWeb is a browser and desktop password manager which is capable of opening up
2424
[![Size][github-size-img]][github-size-img]
2525
[![Last Commit][github-commit-img]][github-commit-img]
2626
[![Contributors][contribs-all-img]](#contributors-)
27+
<!-- prettier-ignore-end -->
2728

2829
</div>
2930

@@ -39,12 +40,13 @@ KeeWeb is a browser and desktop password manager which is capable of opening up
3940
- [Docker:](#docker)
4041
- [Run](#run)
4142
- [Compose](#compose)
42-
- [Traefik](#traefik)
43+
- [Traefik Integration](#traefik-integration)
4344
- [Dynamic.yml](#dynamicyml)
4445
- [Static.yml](#staticyml)
4546
- [certificatesResolvers](#certificatesresolvers)
4647
- [entryPoints (Normal)](#entrypoints-normal)
4748
- [entryPoints (Cloudflare)](#entrypoints-cloudflare)
49+
- [Authentik Integration](#authentik-integration)
4850
- [Env \& Volumes](#env--volumes)
4951
- [Env Variables](#env-variables)
5052
- [Volumes](#volumes)
@@ -59,7 +61,6 @@ KeeWeb is a browser and desktop password manager which is capable of opening up
5961
- [Platform: MacOS](#platform-macos)
6062
- [Using Grunt](#using-grunt-2)
6163
- [Using NPM](#using-npm-2)
62-
- [Thank you](#thank-you)
6364
- [Donations](#donations)
6465
- [Contributors ✨](#contributors-)
6566

@@ -149,7 +150,7 @@ services:
149150
150151
<br />
151152
152-
#### Traefik
153+
#### Traefik Integration
153154
You can put this container behind Traefik if you want to use a reverse proxy and let Traefik handle the SSL certificate.
154155
155156
<br />
@@ -346,6 +347,98 @@ Save the files and then give Traefik and your Keeweb containers a restart.
346347

347348
<br />
348349

350+
<br />
351+
352+
#### Authentik Integration
353+
354+
If you are adding [Authentik](https://goauthentik.io/) as middleware in the steps above; the last thing you must do is log in to your Authentik admin panel and add a new **Provider** so that we can access Keeweb via your domain.
355+
356+
<br />
357+
358+
Sign into the Authentik admin panel, go to the left-side navigation, select **Applications** -> **Providers**. Then at the top of the new page, click **Create**.
359+
360+
<br />
361+
362+
<p align="center"><img style="width: 40%;text-align: center;" src="docs/img/authentik/01.png"></p>
363+
364+
<p align="center"><img style="width: 80%;text-align: center;" src="docs/img/authentik/02.png"></p>
365+
366+
<br />
367+
368+
For the **provider**, select `Proxy Provider`.
369+
370+
<br />
371+
372+
<p align="center"><img style="width: 80%;text-align: center;" src="docs/img/authentik/03.png"></p>
373+
374+
<br />
375+
376+
Add the following provider values:
377+
- **Name**: `Keeweb ForwardAuth`
378+
- **Authentication Flow**: `default-source-authentication (Welcome to authentik!)`
379+
- **Authorization Flow**: `default-provider-authorization-implicit-consent (Authorize Application)`
380+
381+
<br />
382+
383+
Select **Forward Auth (single application)**:
384+
- **External Host**: `https://keeweb.domain.com`
385+
386+
<br />
387+
388+
<p align="center"><img style="width: 80%;text-align: center;" src="docs/img/authentik/04.gif"></p>
389+
390+
<br />
391+
392+
Once finished, click **Create**. Then on the left-side menu, select **Applications** -> **Applications**. Then at the top of the new page, click **Create**.
393+
394+
<br />
395+
396+
<p align="center"><img style="width: 40%;text-align: center;" src="docs/img/authentik/05.png"></p>
397+
398+
<p align="center"><img style="width: 80%;text-align: center;" src="docs/img/authentik/02.png"></p>
399+
400+
<br />
401+
402+
Add the following parameters:
403+
- **Name**: `Keeweb (Password Manager)`
404+
- **Slug**: `keeweb`
405+
- **Group**: `Security`
406+
- **Provider**: `Keeweb ForwardAuth`
407+
- **Backchannel Providers**: `None`
408+
- **Policy Engine Mode**: `any`
409+
410+
<br />
411+
412+
<p align="center"><img style="width: 80%;text-align: center;" src="docs/img/authentik/06.png"></p>
413+
414+
<br />
415+
416+
Save, and then on the left-side menu, select **Applications** -> **Outposts**:
417+
418+
<br />
419+
420+
<p align="center"><img style="width: 40%;text-align: center;" src="docs/img/authentik/07.png"></p>
421+
422+
<br />
423+
424+
Find your **Outpost** and edit it.
425+
426+
<p align="center"><img style="width: 80%;text-align: center;" src="docs/img/authentik/08.png"></p>
427+
428+
<br />
429+
430+
Move `Keeweb (Password Manager)` to the right side **Selected Applications** box.
431+
432+
<br />
433+
434+
<p align="center"><img style="width: 80%;text-align: center;" src="docs/img/authentik/09.png"></p>
435+
436+
<br />
437+
438+
You should be able to access `keeweb.domain.com` and be prompted now to authenticate with Authentik.
439+
440+
<br />
441+
349442
---
350443

351444
<br />
@@ -429,6 +522,8 @@ You may build KeeWeb for `Windows` by executing ONE of the following two command
429522
grunt dev-desktop-win32 --skip-sign
430523
```
431524

525+
<br />
526+
432527
#### Using NPM
433528

434529
```shell
@@ -449,6 +544,8 @@ You may build KeeWeb for `Linux` by executing ONE of the following two commands
449544
grunt dev-desktop-linux --skip-sign
450545
```
451546

547+
<br />
548+
452549
#### Using NPM
453550

454551
```shell
@@ -462,8 +559,6 @@ npm run dev-desktop-linux
462559

463560
You may build KeeWeb for `MacOS` by executing ONE of the following two commands provided:
464561

465-
<br />
466-
467562
#### Using Grunt
468563

469564
```shell
@@ -484,6 +579,8 @@ Once the build is complete, all (html files will be in `dist/` folder. To build
484579

485580
To run the desktop (electron) app without building an installer, build the app with `grunt` and then launch KeeWeb with one of the following commands:
486581

582+
<br />
583+
487584
```bash
488585
npm run dev
489586
npm run electron
@@ -506,21 +603,6 @@ Once built, the output files will be generated in `tmp`:
506603

507604
<br />
508605

509-
## Thank you
510-
511-
Notable contributions to KeeWeb:
512-
513-
- Florian Reuschel ([@Loilo](https://github.com/Loilo)): [German translation](https://keeweb.oneskyapp.com/collaboration/translate/project/project/173183/language/550)
514-
- Dennis Ploeger ([@dploeger](https://github.com/dploeger)): [auto-type improvements](https://github.com/keeweb/keeweb/pulls?q=is%3Apr+is%3Aclosed+author%3Adploeger)
515-
- Hackmanit ([hackmanit.de](https://www.hackmanit.de)): [penetration test](https://www.hackmanit.de/en/blog-en/104-pro-bono-penetration-test-keeweb)
516-
- Peter Bittner ([@bittner](https://github.com/bittner)): [Wikipedia article](https://en.wikipedia.org/wiki/KeeWeb)
517-
518-
<br />
519-
520-
---
521-
522-
<br />
523-
524606
## Donations
525607

526608
KeeWeb is not free to develop. It takes time, requires paid code signing certificates and domains.
@@ -650,8 +732,8 @@ Want to help but can't write code?
650732
[github-build-pypi-uri]: https://github.com/keeweb/keeweb/actions/workflows/release-pypi.yml
651733

652734
<!-- BADGE > GITHUB > TESTS -->
653-
[github-tests-img]: https://img.shields.io/github/actions/workflow/status/keeweb/keeweb/tests.yml?logo=github&label=Tests&color=2c6488
654-
[github-tests-uri]: https://github.com/keeweb/keeweb/actions/workflows/tests.yml
735+
[github-tests-img]: https://img.shields.io/github/actions/workflow/status/keeweb/keeweb/build-tests.yml?logo=github&label=Tests&color=2c6488
736+
[github-tests-uri]: https://github.com/keeweb/keeweb/actions/workflows/build-tests.yml
655737

656738
<!-- BADGE > GITHUB > COMMIT -->
657739
[github-commit-img]: https://img.shields.io/github/last-commit/keeweb/keeweb?logo=conventionalcommits&logoColor=FFFFFF&label=Last%20Commit&color=313131

0 commit comments

Comments
 (0)