Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/timuntersberger/keycape
Documentation https://keycape.netlify.com
https://github.com/timuntersberger/keycape
Last synced: about 1 month ago
JSON representation
Documentation https://keycape.netlify.com
- Host: GitHub
- URL: https://github.com/timuntersberger/keycape
- Owner: TimUntersberger
- Created: 2020-02-08T18:44:04.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2023-01-11T02:36:53.000Z (about 2 years ago)
- Last Synced: 2024-10-28T10:12:11.380Z (3 months ago)
- Language: TypeScript
- Homepage:
- Size: 979 KB
- Stars: 0
- Watchers: 3
- Forks: 0
- Open Issues: 30
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![Docker](https://github.com/TimUntersberger/keycape/workflows/Docker/badge.svg?branch=master)
[![Netlify Status](https://api.netlify.com/api/v1/badges/f4b45f35-0fee-4bb2-8348-fb4b24be8c61/deploy-status)](https://app.netlify.com/sites/keycape/deploys)# Keycape
An authentication server that provides a preconfigured way to use oauth2 providers.
## Supported oauth2 providers (WIP)
* github## config.yaml
```yaml
defaultRole: Admin # the role that gets assigned to every account where the role is not defined
domain: localhost # domainname of the server hosting the keycape server
port: 8080 # port of the keycape server
autoMigrate: true # whether to migrate on startup. Should be turned off in production
persistConfig: true # whether to persist the defined entities on startup. Should be turned off in production
jwt:
secret: secret # secret used to hash the authentication JWT
db:
host: localhost
port: 5432
dbname: admin
username: admin
password: admin
oauth2:
secret: secret # used to salt the hash of the password
providers:
- provider: google
id: "345i0345jfkgjd02jj0i4503" # id given by provider
secret: "0252ujksdl;fjk234i0" # secret given by provider
#Everything below is optional to make sure that these entities exist on startup.
accounts:
- username: admin
email: [email protected]
password: test
role: Admin
roles:
- name: Admin
privileges:
- CreateUser
privileges:
- CreateUser
```## Example docker-compose.yml
```yaml
version: '3'
services:
keycape:
image: baaka/keycape
ports:
- '8080:8080'
volumes:
- ./config.yaml:/app/config.yaml
depends_on:
- db
db:
image: postgres:12
ports:
- '5432:5432'
environment:
- POSTGRES_PASSWORD=password
```