Skip to content
Example for OpenID Connect 1.0 Server for Authlib.
Python HTML
Branch: master
Clone or download
Latest commit 27cd151 Sep 3, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
website Make it works Sep 3, 2019
.gitignore Init project Aug 11, 2019
README.md Add readme Sep 3, 2019
app.py Init project Aug 11, 2019
requirements.txt Init project Aug 11, 2019

README.md

Example of OpenID Connect 1.0 Provider

This is an example of OpenID Connect 1.0 server in Flask and 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:

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
You can’t perform that action at this time.