[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/IdentityPython/JWTConnect-Python-OidcService/develop/README.md [Back]  [Original]

# Archived !!

The functionality in this package has been included in the IdentityPython/JWTConnect-Python-OidcRP package.
This package is therefor redundant and has been archived.

# oidcservice
#### Implementation of OIDC/OAuth2 services

Oidcservice is the 3rd layer in the
JWTConnect stack (cryptojwt, oidcmsg, oidcservice, oidcrp)

An OIDC OP or an OAuth2 AS provides a set of services to be used by an
RP/client.

This package contains the necessary pieces to allow an RP/client to use those
services.

Each Service instance has 3 major methods:

  * get_request_parameters
  * parse_response
  * update_service_context

#### get_request_parameters

This method will return a dictionary with the information you need to
do a HTTP request with your favorite HTTP client library.

For instance if you use the provider info dicovery Server subclass it could
look something like this:

```python
import requests

from oidcservice.service_context import ServiceContext
from oidcservice.oidc.service import ProviderInfoDiscovery

class DB(object):
    def __init__(self):
        self.db = {}

    def set(self, key, value):
        self.db[key] = value

    def get(self, item):
        try:
            return self.db[item]
        except KeyError:
            return None

service_context = ServiceContext
service_context.issuer = "https://accounts.google.com"
service_context.keyjar = None

service = ProviderInfoDiscovery(service_context, DB())

args = service.get_request_parameters(service_context)

# Do the HTTP request
http_resp = requests.request(**args)

# giassuming that we got a 200 response
oidc_response = service.parse_response(http_resp.text, service_context)

print(oidc_response.to_dict())
```

The output should then be a dictionary with the provider information for
Google's OP.

Web Proxy Viewer  |  New URL  |  Original Page