idin 0.2.0

Creator: bradpython12

Last updated:

Add to Cart

Description:

idin 0.2.0

python-idin
This is a Python library to authenticate users via iDIN
(https://www.idin.nl/). iDIN is a service offered by banks which allows
consumers to use their bank’s secure and reliable login methods to either
identify, login or confirm their age on your platform.
Requirements
Requires Python 3.7, xmlsec1 and libxml2-dev libraries
Installation
Not released yet
Usage
First intialize the idin client object:
import idin

client = idin.Client(
language="nl",
merchant_id="<your merchant id>",
merchant_sub_id="<optional merchant subaccount id>",
endpoint="<endpoint of acquirer>",
certificate=idin.Certificate(
private_key="<private key (content)>",
certificate="<certificate data (content)>",
password="<optional private key password>",
),
certificate_acquirer=idin.Certificate(
certificate="<certificate data (acquirer)>"
)
)

Now you can start a transaction using:
transaction = client.start_transaction(
issuer="<ISSUER ID>",
service_id=idin.ServiceID.ConsumerID | idin.ServiceID.Name,
merchant_return_url="<URL to redirect the user to after identification>",
)
assert transaction.redirect_url
assert transaction.transaction_id

After the user finished the transaction you can retrieve the status using:
status = client.get_status(
transaction_id="<transaction id>",
entrance_code="<entrance code>"
)

print(status.user)

Error handling
The following exceptions might be raised:

idin.IdinException - Error raised at the IDIN system
idin.RequesterException - Invalid request
idin.ValidationError - The response couldn't be validated

More information

Official Implementation Guide EN
Official Implementation Guide NL
Python-xmlsec documentation

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.