https://github.com/crocs-muni/indie-oidc-provider
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (8.1%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: crocs-muni
- Language: Python
- Default Branch: master
- Size: 21.5 KB
Statistics
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
Example of OpenID Connect 1.0 Provider
This is an example of OpenID Connect 1.0 server in Flask and Authlib.
- Documentation: https://docs.authlib.org/en/latest/flask/2/
- Authlib Repo: https://github.com/lepture/authlib
Take a quick look
This is a ready to run example, let's take a quick experience at first. To run the example, we need to install all the dependencies:
$ pip install -r requirements.txt
Set Flask and Authlib environment variables:
# disable check https (DO NOT SET THIS IN PRODUCTION)
$ export AUTHLIB_INSECURE_TRANSPORT=1
Create Database and run the development server:
$ flask initdb
$ flask run
Now, you can open your browser with http://127.0.0.1:5000/, login with any
name you want.
Before testing, we need to create a client:

NOTE: YOU MUST ADD openid SCOPE IN YOUR CLIENT
Let's take authorization_code grant type as an example. Visit:
http://127.0.0.1:5000/oauth/authorize?client_id=${CLIENT_ID}&scope=openid+profile&response_type=code&nonce=abc
After that, you will be redirect to a URL. For instance:
https://example.com/?code=RSv6j745Ri0DhBSvi2RQu5JKpIVvLm8SFd5ObjOZZSijohe0
Copy the code value, use curl to get the access token:
curl -u "${CLIENT_ID}:${CLIENT_SECRET}" -XPOST http://127.0.0.1:5000/oauth/token -F grant_type=authorization_code -F code=RSv6j745Ri0DhBSvi2RQu5JKpIVvLm8SFd5ObjOZZSijohe0
Now you can access the userinfo endpoint:
bash
$ curl -H "Authorization: Bearer ${access_token}" http://127.0.0.1:5000/oauth/userinfo
Owner
- Name: CRoCS
- Login: crocs-muni
- Kind: organization
- Location: Faculty of Informatics, Masaryk University, Brno
- Website: https://crocs.fi.muni.cz
- Repositories: 95
- Profile: https://github.com/crocs-muni
Centre for Research on Cryptography and Security
GitHub Events
Total
- Push event: 2
- Pull request event: 1
- Create event: 3
Last Year
- Push event: 2
- Pull request event: 1
- Create event: 3
Dependencies
- authlib *
- cryptography *
- flask *
- flask-sqlalchemy *
- Authlib ==0.13
- Flask *
- Flask-SQLAlchemy *