Package openid :: Package extensions :: Module sreg
[frames] | no frames]

Module sreg

source code

Simple registration request and response parsing and object representation

This module contains objects representing simple registration requests and responses that can be used with both OpenID relying parties and OpenID providers.

  1. The relying party creates a request object and adds it to the AuthRequest object before making the checkid_ request to the OpenID provider:
    auth_request.addExtension(SRegRequest(required=['email']))
    
  2. The OpenID provider extracts the simple registration request from the OpenID request using SRegRequest.fromOpenIDRequest, gets the user's approval and data, creates a SRegResponse object and adds it to the id_res response:
    sreg_req = SRegRequest.fromOpenIDRequest(checkid_request)
    # [ get the user's approval and data, informing the user that
    #   the fields in sreg_response were requested ]
    sreg_resp = SRegResponse.extractResponse(sreg_req, user_data)
    sreg_resp.toMessage(openid_response.fields)
    
  3. The relying party uses SRegResponse.fromSuccessResponse to extract the data from the OpenID response:
    sreg_resp = SRegResponse.fromSuccessResponse(success_response)
    

Since: 2.0

Classes
  SRegRequest
An object to hold the state of a simple registration request.
  SRegResponse
Represents the data returned in a simple registration response inside of an OpenID id_res response.
Functions
bool
supportsSReg(endpoint)
Does the given endpoint advertise support for simple registration?
source code
Variables
  data_fields = {'country': 'Country', 'dob': 'Date of Birth', '...
  ns_uri_1_0 = 'http://openid.net/sreg/1.0'
  ns_uri_1_1 = 'http://openid.net/extensions/sreg/1.1'
  ns_uri = 'http://openid.net/extensions/sreg/1.1'
  sreg_data_fields
The names of the data fields that are listed in the sreg spec, and a description of them in English
  sreg_uri
The preferred URI to use for the simple registration namespace and XRD Type value
Function Details

supportsSReg(endpoint)

source code 

Does the given endpoint advertise support for simple registration?

Parameters:
  • endpoint (openid.consumer.discover.OpenIDEndpoint) - The endpoint object as returned by OpenID discovery
Returns: bool
Whether an sreg type was advertised by the endpoint

Variables Details

data_fields

Value:
{'country': 'Country',
 'dob': 'Date of Birth',
 'email': 'E-mail Address',
 'fullname': 'Full Name',
 'gender': 'Gender',
 'language': 'Language',
 'nickname': 'Nickname',
 'postcode': 'Postal Code',
...