An open API service indexing awesome lists of open source software.

https://github.com/sebouchu/h0dor

H0dor - Rails application & OAuth provider
https://github.com/sebouchu/h0dor

Last synced: 10 months ago
JSON representation

H0dor - Rails application & OAuth provider

Awesome Lists containing this project

README

          

# H0dor

Rails application & OAuth / OpenID Connect provider

![h0dor](https://user-images.githubusercontent.com/7761386/167664236-5747b98e-a908-4d89-9b40-44aca876fa98.jpeg)

## Setup

### Basic

- Clone this repo
- Run `bin/setup`
- Run `yarn`
- Install [puma-dev](https://github.com/puma/puma-dev) if you don't have it, and redirect `h0dor` to port 8000
- `echo 8000 > ~/.puma-dev/h0dor`

### Environment variables

- Copy `config/application.yml.example` to `config/application.yml`
- Generate a pair of keys and set the `OPENID_PRIVATE_KEY` and `OPENID_PUBLIC_KEY` environments variables:
- Private key: `openssl genpkey -algorithm RSA -out oidc_private.pem -pkeyopt rsa_keygen_bits:2048`
- Public key: `openssl rsa -pubout -in oidc_private.pem -out oidc_public.pem`

## Run

```
bin/dev
```

Access it via https://h0dor.localhost

## Info

This Rails application uses [Devise](https://github.com/heartcombo/devise) and [Doorkeeper](https://github.com/doorkeeper-gem/doorkeeper) to be an identity provider through OAuth2 and OpenID Connect.

If you create a user and set its role to admin, you can create OAuth apps for it, like [Br4n](https://github.com/SebouChu/br4n)