diff --git a/examples/yoti_example_flask_di/.env.example b/examples/yoti_example_flask_di/.env.example deleted file mode 100644 index d0021fb8..00000000 --- a/examples/yoti_example_flask_di/.env.example +++ /dev/null @@ -1,3 +0,0 @@ -YOTI_SCENARIO_ID=yourScenarioId -YOTI_CLIENT_SDK_ID=yourClientSdkId -YOTI_KEY_FILE_PATH=yourKeyFilePath diff --git a/examples/yoti_example_flask_di/Dockerfile b/examples/yoti_example_flask_di/Dockerfile deleted file mode 100644 index a590e43a..00000000 --- a/examples/yoti_example_flask_di/Dockerfile +++ /dev/null @@ -1,12 +0,0 @@ -FROM python:3.6.3 -ARG YOTI_SCENARIO_ID -ARG YOTI_CLIENT_SDK_ID -ARG YOTI_KEY_FILE_PATH -RUN if [ "$YOTI_SCENARIO_ID" = "yourScenarioId" ] ; then echo YOTI_SCENARIO_ID not set; exit 1; else echo YOTI_SCENARIO_ID is $YOTI_SCENARIO_ID ; fi -RUN if [ "$YOTI_CLIENT_SDK_ID" = "yourClientSdkId" ] ; then echo YOTI_CLIENT_SDK_ID not set; exit 1; else echo YOTI_CLIENT_SDK_ID is $YOTI_CLIENT_SDK_ID ; fi -RUN if [ "$YOTI_KEY_FILE_PATH" = "yourKeyFilePath" ] ; then echo YOTI_KEY_FILE_PATH not set; exit 1; else echo YOTI_KEY_FILE_PATH is $YOTI_KEY_FILE_PATH ; fi -ADD . /yoti-sdk -WORKDIR /yoti-sdk/examples/yoti_example_flask/ -RUN pip install --no-cache-dir -r /yoti-sdk/requirements.txt && pip install /yoti-sdk -RUN pip install --no-cache-dir -r requirements.txt -CMD ["python", "app.py"] diff --git a/examples/yoti_example_flask_di/README.md b/examples/yoti_example_flask_di/README.md deleted file mode 100644 index 2589ede5..00000000 --- a/examples/yoti_example_flask_di/README.md +++ /dev/null @@ -1,6 +0,0 @@ -#### Flask Profile Example Project - -1. Rename the [.env.example](.env.example) file to `.env` and fill in the required configuration values -1. Install dependencies: `pip install -r requirements.txt` -1. Run `python app.py` -1. Navigate to https://localhost:5000 \ No newline at end of file diff --git a/examples/yoti_example_flask_di/app.py b/examples/yoti_example_flask_di/app.py deleted file mode 100644 index f831c84f..00000000 --- a/examples/yoti_example_flask_di/app.py +++ /dev/null @@ -1,124 +0,0 @@ -# noinspection PyPackageRequirements -import os -from os.path import join, dirname - -from dotenv import load_dotenv -from flask import Flask, render_template, request - -from yoti_python_sdk import Client -from yoti_python_sdk.dynamic_sharing_service.policy import ( - DynamicPolicyBuilder, - SourceConstraintBuilder, -) -from yoti_python_sdk.dynamic_sharing_service import DynamicScenarioBuilder -from yoti_python_sdk.dynamic_sharing_service import create_share_url - -from yoti_python_sdk.digital_identity.client import create_share_session, get_share_receipt, get_share_session, create_share_qr_code, get_share_qr_code - - - -dotenv_path = join(dirname(__file__), ".env") -load_dotenv(dotenv_path) - -from settings import YOTI_SCENARIO_ID, YOTI_CLIENT_SDK_ID, YOTI_KEY_FILE_PATH # noqa - -app = Flask(__name__) - - -def save_image(selfie_data): - upload_path = os.path.join(app.root_path, "static", "YotiSelfie.jpg") - fd = open(upload_path, "wb") - fd.write(selfie_data) - fd.close() - - -@app.route("/") -def index(): - return render_template( - "index.html", scenario_id=YOTI_SCENARIO_ID, client_sdk_id=YOTI_CLIENT_SDK_ID - ) - - -@app.route("/dynamic-share") -def dynamic_share(): - client = Client(YOTI_CLIENT_SDK_ID, YOTI_KEY_FILE_PATH) - policy = ( - DynamicPolicyBuilder().with_full_name().with_age_over(18).with_email().build() - ) - scenario = ( - DynamicScenarioBuilder() - .with_policy(policy) - .with_callback_endpoint("/yoti/auth") - .build() - ) - share = create_share_url(client, scenario) - return render_template( - "dynamic-share.html", - yoti_client_sdk_id=YOTI_CLIENT_SDK_ID, - yoti_share_url=share.share_url, - ) - - -@app.route("/source-constraints") -def source_constraints(): - client = Client(YOTI_CLIENT_SDK_ID, YOTI_KEY_FILE_PATH) - constraint = ( - SourceConstraintBuilder().with_driving_licence().with_passport().build() - ) - policy = ( - DynamicPolicyBuilder() - .with_full_name(constraints=constraint) - .with_structured_postal_address(constraints=constraint) - .build() - ) - scenario = ( - DynamicScenarioBuilder() - .with_policy(policy) - .with_callback_endpoint("/yoti/auth") - .build() - ) - share = create_share_url(client, scenario) - return render_template( - "dynamic-share.html", - yoti_client_sdk_id=YOTI_CLIENT_SDK_ID, - yoti_share_url=share.share_url, - ) - - -@app.route("/yoti/auth") -def auth(): - client = Client(YOTI_CLIENT_SDK_ID, YOTI_KEY_FILE_PATH) - activity_details = client.get_activity_details(request.args["token"]) - profile = activity_details.profile - profile_dict = vars(profile) - - context = profile_dict.get("attributes") - context["base64_selfie_uri"] = getattr(activity_details, "base64_selfie_uri") - context["remember_me_id"] = getattr(activity_details, "remember_me_id") - context["parent_remember_me_id"] = getattr( - activity_details, "parent_remember_me_id" - ) - context["receipt_id"] = getattr(activity_details, "receipt_id") - context["timestamp"] = getattr(activity_details, "timestamp") - - # change this number according to the age condition defined in Yoti Hub - age_verified = profile.find_age_over_verification(18) - - # Age verification objects don't have the same properties as an attribute, - # so for this example we had to mock an object with the same properties - if age_verified is not None: - context["age_verified"] = { - "name": "age_verified", - "value": age_verified, - "sources": age_verified.attribute.sources, - "verifiers": age_verified.attribute.verifiers, - } - - selfie = context.get("selfie") - if selfie is not None: - save_image(selfie.value) - return render_template("profile.html", **context) - - -if __name__ == "__main__": - app.run(host="0.0.0.0", ssl_context="adhoc") diff --git a/examples/yoti_example_flask_di/docker-compose.yml b/examples/yoti_example_flask_di/docker-compose.yml deleted file mode 100644 index fbcfc4be..00000000 --- a/examples/yoti_example_flask_di/docker-compose.yml +++ /dev/null @@ -1,12 +0,0 @@ -version: '3.4' -services: - web: - build: - context: ../../ - dockerfile: examples/yoti_example_flask/Dockerfile - args: - YOTI_SCENARIO_ID: "${YOTI_SCENARIO_ID}" - YOTI_CLIENT_SDK_ID: "${YOTI_CLIENT_SDK_ID}" - YOTI_KEY_FILE_PATH: "${YOTI_KEY_FILE_PATH}" - ports: - - "5000:5000" diff --git a/examples/yoti_example_flask_di/requirements.in b/examples/yoti_example_flask_di/requirements.in deleted file mode 100644 index 89d0b0ee..00000000 --- a/examples/yoti_example_flask_di/requirements.in +++ /dev/null @@ -1,11 +0,0 @@ -click>=7 -cffi>=1.15.0 -flask>=1.0.4 -jinja2>=3.0.3 -pyopenssl>=19.0.0 -python-dotenv>=0.7.1 -requests>=2.20.0 -urllib3>=1.24.2 -yoti>=2.14.0 -werkzeug>=1.0.1 -six==1.16.0 \ No newline at end of file diff --git a/examples/yoti_example_flask_di/requirements.txt b/examples/yoti_example_flask_di/requirements.txt deleted file mode 100644 index 81f2e9f6..00000000 --- a/examples/yoti_example_flask_di/requirements.txt +++ /dev/null @@ -1,79 +0,0 @@ -# -# This file is autogenerated by pip-compile with python 3.9 -# To update, run: -# -# pip-compile --output-file=requirements.txt requirements.in -# -asn1==2.2.0 - # via yoti -certifi==2018.4.16 - # via requests -cffi==1.15.0 - # via - # -r requirements.in - # cryptography -chardet==3.0.4 - # via requests -click==8.1.2 - # via - # -r requirements.in - # flask -cryptography==3.2 - # via - # pyopenssl - # yoti -deprecated==1.2.10 - # via yoti -flask==1.1.1 - # via -r requirements.in -future==0.16.0 - # via yoti -idna==2.7 - # via requests -iso8601==0.1.13 - # via yoti -itsdangerous==0.24 - # via flask -jinja2==3.0.3 - # via - # -r requirements.in - # flask -markupsafe==2.0.1 - # via jinja2 -protobuf==3.6.0 - # via yoti -pycparser==2.18 - # via cffi -pyopenssl==19.0.0 - # via - # -r requirements.in - # yoti -python-dotenv==0.8.2 - # via -r requirements.in -pytz==2020.4 - # via yoti -requests==2.21.0 - # via - # -r requirements.in - # yoti -six==1.16.0 - # via - # -r requirements.in - # cryptography - # protobuf - # pyopenssl -urllib3==1.24.2 - # via - # -r requirements.in - # requests -werkzeug==1.0.1 - # via - # -r requirements.in - # flask -wrapt==1.12.1 - # via deprecated -yoti==2.14.0 - # via -r requirements.in - -# The following packages are considered to be unsafe in a requirements file: -# setuptools diff --git a/examples/yoti_example_flask_di/settings.py b/examples/yoti_example_flask_di/settings.py deleted file mode 100644 index f9b14cb6..00000000 --- a/examples/yoti_example_flask_di/settings.py +++ /dev/null @@ -1,5 +0,0 @@ -from os import environ - -YOTI_SCENARIO_ID = environ.get("YOTI_SCENARIO_ID") -YOTI_CLIENT_SDK_ID = environ.get("YOTI_CLIENT_SDK_ID") -YOTI_KEY_FILE_PATH = environ.get("YOTI_KEY_FILE_PATH") diff --git a/examples/yoti_example_flask_di/static/assets/app-store-badge.png b/examples/yoti_example_flask_di/static/assets/app-store-badge.png deleted file mode 100755 index 3ec996cc..00000000 Binary files a/examples/yoti_example_flask_di/static/assets/app-store-badge.png and /dev/null differ diff --git a/examples/yoti_example_flask_di/static/assets/app-store-badge@2x.png b/examples/yoti_example_flask_di/static/assets/app-store-badge@2x.png deleted file mode 100755 index 84b34068..00000000 Binary files a/examples/yoti_example_flask_di/static/assets/app-store-badge@2x.png and /dev/null differ diff --git a/examples/yoti_example_flask_di/static/assets/company-logo.jpg b/examples/yoti_example_flask_di/static/assets/company-logo.jpg deleted file mode 100644 index 551474bf..00000000 Binary files a/examples/yoti_example_flask_di/static/assets/company-logo.jpg and /dev/null differ diff --git a/examples/yoti_example_flask_di/static/assets/google-play-badge.png b/examples/yoti_example_flask_di/static/assets/google-play-badge.png deleted file mode 100755 index 761f237b..00000000 Binary files a/examples/yoti_example_flask_di/static/assets/google-play-badge.png and /dev/null differ diff --git a/examples/yoti_example_flask_di/static/assets/google-play-badge@2x.png b/examples/yoti_example_flask_di/static/assets/google-play-badge@2x.png deleted file mode 100755 index 46707cea..00000000 Binary files a/examples/yoti_example_flask_di/static/assets/google-play-badge@2x.png and /dev/null differ diff --git a/examples/yoti_example_flask_di/static/assets/icons/address.svg b/examples/yoti_example_flask_di/static/assets/icons/address.svg deleted file mode 100755 index f7d9b2a7..00000000 --- a/examples/yoti_example_flask_di/static/assets/icons/address.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/examples/yoti_example_flask_di/static/assets/icons/calendar.svg b/examples/yoti_example_flask_di/static/assets/icons/calendar.svg deleted file mode 100755 index 4f6b9bb7..00000000 --- a/examples/yoti_example_flask_di/static/assets/icons/calendar.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/examples/yoti_example_flask_di/static/assets/icons/chevron-down-grey.svg b/examples/yoti_example_flask_di/static/assets/icons/chevron-down-grey.svg deleted file mode 100644 index 6753becb..00000000 --- a/examples/yoti_example_flask_di/static/assets/icons/chevron-down-grey.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/examples/yoti_example_flask_di/static/assets/icons/document.svg b/examples/yoti_example_flask_di/static/assets/icons/document.svg deleted file mode 100755 index 4c41271e..00000000 --- a/examples/yoti_example_flask_di/static/assets/icons/document.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/examples/yoti_example_flask_di/static/assets/icons/email.svg b/examples/yoti_example_flask_di/static/assets/icons/email.svg deleted file mode 100755 index c4582d6e..00000000 --- a/examples/yoti_example_flask_di/static/assets/icons/email.svg +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/examples/yoti_example_flask_di/static/assets/icons/gender.svg b/examples/yoti_example_flask_di/static/assets/icons/gender.svg deleted file mode 100755 index af5c5772..00000000 --- a/examples/yoti_example_flask_di/static/assets/icons/gender.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/examples/yoti_example_flask_di/static/assets/icons/nationality.svg b/examples/yoti_example_flask_di/static/assets/icons/nationality.svg deleted file mode 100755 index e57d7522..00000000 --- a/examples/yoti_example_flask_di/static/assets/icons/nationality.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/examples/yoti_example_flask_di/static/assets/icons/phone.svg b/examples/yoti_example_flask_di/static/assets/icons/phone.svg deleted file mode 100755 index b19cce04..00000000 --- a/examples/yoti_example_flask_di/static/assets/icons/phone.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/examples/yoti_example_flask_di/static/assets/icons/profile.svg b/examples/yoti_example_flask_di/static/assets/icons/profile.svg deleted file mode 100755 index 5c514fc1..00000000 --- a/examples/yoti_example_flask_di/static/assets/icons/profile.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/examples/yoti_example_flask_di/static/assets/icons/verified.svg b/examples/yoti_example_flask_di/static/assets/icons/verified.svg deleted file mode 100755 index 7ca4dbb3..00000000 --- a/examples/yoti_example_flask_di/static/assets/icons/verified.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/examples/yoti_example_flask_di/static/assets/logo.png b/examples/yoti_example_flask_di/static/assets/logo.png deleted file mode 100755 index c60227fa..00000000 Binary files a/examples/yoti_example_flask_di/static/assets/logo.png and /dev/null differ diff --git a/examples/yoti_example_flask_di/static/assets/logo@2x.png b/examples/yoti_example_flask_di/static/assets/logo@2x.png deleted file mode 100755 index 9f29784d..00000000 Binary files a/examples/yoti_example_flask_di/static/assets/logo@2x.png and /dev/null differ diff --git a/examples/yoti_example_flask_di/static/index.css b/examples/yoti_example_flask_di/static/index.css deleted file mode 100644 index 66bb6b61..00000000 --- a/examples/yoti_example_flask_di/static/index.css +++ /dev/null @@ -1,174 +0,0 @@ -.yoti-body { - margin: 0; -} - -.yoti-top-section { - display: flex; - flex-direction: column; - - padding: 38px 0; - - background-color: #f7f8f9; - - align-items: center; -} - -.yoti-logo-section { - margin-bottom: 25px; -} - -.yoti-logo-image { - display: block; -} - -.yoti-top-header { - font-family: Roboto, sans-serif; - font-size: 40px; - font-weight: 700; - line-height: 1.2; - margin-top: 0; - margin-bottom: 80px; - - text-align: center; - - color: #000; -} - -@media (min-width: 600px) { - .yoti-top-header { - line-height: 1.4; - } -} - -.yoti-sdk-integration-section { - margin: 30px 0; -} - -#yoti-share-button { - width: 250px; - height: 45px; -} - -.yoti-login-or-separator { - text-transform: uppercase; - font-family: Roboto; - font-size: 16px; - font-weight: bold; - line-height: 1.5; - text-align: center; - margin-top: 30px; -} - -.yoti-login-dialog { - display: grid; - - box-sizing: border-box; - width: 100%; - padding: 35px 38px; - - border-radius: 5px; - background: #fff; - - grid-gap: 25px; -} - -@media (min-width: 600px) { - .yoti-login-dialog { - width: 560px; - padding: 35px 88px; - } -} - -.yoti-login-dialog-header { - font-family: Roboto, sans-serif; - font-size: 24px; - font-weight: 700; - line-height: 1.1; - - margin: 0; - - color: #000; -} - -.yoti-input { - font-family: Roboto, sans-serif; - font-size: 16px; - line-height: 1.5; - - box-sizing: border-box; - padding: 12px 15px; - - color: #000; - border: solid 2px #000; - border-radius: 4px; - background-color: #fff; -} - -.yoti-login-actions { - display: flex; - - justify-content: space-between; - align-items: center; -} - -.yoti-login-forgot-button { - font-family: Roboto, sans-serif; - font-size: 16px; - - text-transform: capitalize; -} - -.yoti-login-button { - font-family: Roboto, sans-serif; - font-size: 16px; - - box-sizing: border-box; - width: 145px; - height: 50px; - - text-transform: uppercase; - - color: #fff; - border: 0; - background-color: #000; -} - -.yoti-sponsor-app-section { - display: flex; - flex-direction: column; - - padding: 70px 0; - - align-items: center; -} - -.yoti-sponsor-app-header { - font-family: Roboto, sans-serif; - font-size: 20px; - font-weight: 700; - line-height: 1.2; - - margin: 0; - - text-align: center; - - color: #000; -} - -.yoti-store-buttons-section { - margin-top: 40px; - display: grid; - grid-gap: 10px; - grid-template-columns: 1fr; -} - -@media (min-width: 600px) { - .yoti-store-buttons-section { - grid-template-columns: 1fr 1fr; - grid-gap: 25px; - } -} - -.yoti-app-button-link { - text-decoration: none; -} diff --git a/examples/yoti_example_flask_di/static/profile.css b/examples/yoti_example_flask_di/static/profile.css deleted file mode 100644 index 8b95649f..00000000 --- a/examples/yoti_example_flask_di/static/profile.css +++ /dev/null @@ -1,429 +0,0 @@ -.yoti-html { - height: 100%; -} - -.yoti-body { - margin: 0; - height: 100%; -} - -.yoti-icon-profile, -.yoti-icon-phone, -.yoti-icon-email, -.yoti-icon-calendar, -.yoti-icon-verified, -.yoti-icon-address, -.yoti-icon-gender, -.yoti-icon-nationality { - display: inline-block; - height: 28px; - width: 28px; - flex-shrink: 0; -} - -.yoti-icon-profile { - background: no-repeat url('/static/assets/icons/profile.svg'); -} - -.yoti-icon-phone { - background: no-repeat url('/static/assets/icons/phone.svg'); -} - -.yoti-icon-email { - background: no-repeat url('/static/assets/icons/email.svg'); -} - -.yoti-icon-calendar { - background: no-repeat url('/static/assets/icons/calendar.svg'); -} - -.yoti-icon-verified { - background: no-repeat url('/static/assets/icons/verified.svg'); -} - -.yoti-icon-address { - background: no-repeat url('/static/assets/icons/address.svg'); -} - -.yoti-icon-gender { - background: no-repeat url('/static/assets/icons/gender.svg'); -} - -.yoti-icon-nationality { - background: no-repeat url('/static/assets/icons/nationality.svg'); -} - -.yoti-profile-layout { - display: grid; - grid-template-columns: 1fr; -} - -@media (min-width: 1100px) { - .yoti-profile-layout { - grid-template-columns: 360px 1fr; - height: 100%; - } -} - -.yoti-profile-user-section { - display: flex; - align-items: center; - justify-content: space-between; - flex-direction: column; - padding: 40px 0; - background-color: #f7f8f9; -} - -@media (min-width: 1100px) { - .yoti-profile-user-section { - display: grid; - grid-template-rows: repeat(3, min-content); - align-items: center; - justify-content: center; - position: relative; - } -} - -.yoti-profile-picture-image { - width: 220px; - height: 220px; - border-radius: 50%; - margin-left: auto; - margin-right: auto; - display: block; -} - -.yoti-profile-picture-powered, -.yoti-profile-picture-account-creation { - font-family: Roboto; - font-size: 14px; - color: #b6bfcb; -} - -.yoti-profile-picture-powered-section { - display: flex; - flex-direction: column; - text-align: center; - align-items: center; -} - -@media (min-width: 1100px) { - .yoti-profile-picture-powered-section { - align-self: start; - } -} - -.yoti-profile-picture-powered { - margin-bottom: 20px; -} - -.yoti-profile-picture-section { - display: flex; - flex-direction: column; - align-items: center; -} - -@media (min-width: 1100px) { - .yoti-profile-picture-section { - position: absolute; - top: 50%; - transform: translateY(-50%); - width: 100%; - } -} - -.yoti-logo-image { - margin-bottom: 25px; -} - -.yoti-profile-picture-area { - position: relative; - display: inline-block; -} - -.yoti-profile-picture-verified-icon { - display: block; - background: no-repeat url("/static/assets/icons/verified.svg"); - background-size: cover; - height: 40px; - width: 40px; - position: absolute; - top: 10px; - right: 10px; -} - -.yoti-profile-name { - margin-top: 20px; - font-family: Roboto, sans-serif; - font-size: 24px; - text-align: center; - color: #333b40; -} - -.yoti-attributes-section { - display: flex; - flex-direction: column; - justify-content: start; - align-items: center; - - width: 100%; - padding: 40px 0; -} - -.yoti-attributes-section.-condensed { - padding: 0; -} - -@media (min-width: 1100px) { - .yoti-attributes-section { - padding: 60px 0; - align-items: start; - overflow-y: scroll; - } - - .yoti-attributes-section.-condensed { - padding: 0; - } -} - -.yoti-company-logo { - margin-bottom: 40px; -} - -@media (min-width: 1100px) { - .yoti-company-logo { - margin-left: 130px; - } -} - -/* extended layout list */ -.yoti-attribute-list-header, -.yoti-attribute-list-subheader { - display: none; -} - -@media (min-width: 1100px) { - .yoti-attribute-list-header, - .yoti-attribute-list-subheader { - width: 100%; - - display: grid; - grid-template-columns: 200px 1fr 1fr; - grid-template-rows: 40px; - - align-items: center; - text-align: center; - - font-family: Roboto; - font-size: 14px; - color: #b6bfcb; - } -} - -.yoti-attribute-list-header-attribute, -.yoti-attribute-list-header-value { - justify-self: start; - padding: 0 20px; -} - -.yoti-attribute-list-subheader { - grid-template-rows: 30px; -} - -.yoti-attribute-list-subhead-layout { - grid-column: 3; - display: grid; - grid-template-columns: 1fr 1fr 1fr; -} - -.yoti-attribute-list { - display: grid; - width: 100%; -} - -.yoti-attribute-list-item:first-child { - border-top: 2px solid #f7f8f9; -} - -.yoti-attribute-list-item { - display: grid; - grid-template-columns: 1fr 1fr; - grid-template-rows: minmax(60px, auto); - border-bottom: 2px solid #f7f8f9; - border-right: none; - border-left: none; -} - -.yoti-attribute-list-item.-condensed { - grid-template-columns: 50% 50%; - padding: 5px 35px; -} - -@media (min-width: 1100px) { - .yoti-attribute-list-item { - display: grid; - grid-template-columns: 200px 1fr 1fr; - grid-template-rows: minmax(80px, auto); - } - - .yoti-attribute-list-item.-condensed { - grid-template-columns: 200px 1fr; - padding: 0 75px; - } -} - -.yoti-attribute-cell { - display: flex; - align-items: center; -} - -.yoti-attribute-name { - grid-column: 1 / 2; - - display: flex; - align-items: center; - justify-content: center; - - border-right: 2px solid #f7f8f9; - - padding: 20px; -} - -@media (min-width: 1100px) { - .yoti-attribute-name { - justify-content: start; - } -} - -.yoti-attribute-name.-condensed { - justify-content: start; -} - -.yoti-attribute-name-cell { - display: flex; - align-items: center; -} - -.yoti-attribute-name-cell-text { - font-family: Roboto, sans-serif; - font-size: 16px; - color: #b6bfcb; - margin-left: 12px; -} - -.yoti-attribute-value { - grid-column: 2 / 3; - - display: flex; - align-items: center; - justify-content: center; - - padding: 20px; -} - -@media (min-width: 1100px) { - .yoti-attribute-value { - justify-content: start; - } -} - -.yoti-attribute-value.-condensed { - justify-content: start; -} - -.yoti-attribute-value-text { - font-family: Roboto, sans-serif; - font-size: 18px; - color: #333b40; - word-break: break-word; -} - -.yoti-attribute-value-text table { - font-size: 14px; - border-spacing: 0; -} - -.yoti-attribute-value-text table td:first-child { - font-weight: bold; -} - -.yoti-attribute-value-text table td { - border-bottom: 1px solid #f7f8f9; - padding: 5px; -} - -.yoti-attribute-value-text img { - width: 100%; -} - -.yoti-attribute-anchors-layout { - grid-column: 1 / 3; - grid-row: 2 / 2; - - display: grid; - grid-template-columns: 1fr 1fr 1fr; - grid-auto-rows: minmax(40px, auto); - font-family: Roboto, sans-serif; - font-size: 14px; - - background-color: #f7f8f9; - border: 5px solid white; -} - -@media (min-width: 1100px) { - .yoti-attribute-anchors-layout { - grid-column: 3 / 4; - grid-row: 1 / 2; - } -} - -.yoti-attribute-anchors-head { - border-bottom: 1px solid #dde2e5; - display: flex; - align-items: center; - justify-content: center; -} - -@media (min-width: 1100px) { - .yoti-attribute-anchors-head { - display: none; - } -} - -.yoti-attribute-anchors { - display: flex; - align-items: center; - justify-content: center; -} - -.yoti-attribute-anchors-head.-s-v { - grid-column-start: span 1 s-v; -} -.yoti-attribute-anchors-head.-value { - grid-column-start: span 1 value; -} -.yoti-attribute-anchors-head.-subtype { - grid-column-start: span 1 subtype; -} - -.yoti-attribute-anchors.-s-v { - grid-column-start: span 1 s-v; -} - -.yoti-attribute-anchors.-value { - grid-column-start: span 1 value; -} - -.yoti-attribute-anchors.-subtype { - grid-column-start: span 1 subtype; -} - -.yoti-edit-section { - padding: 50px 20px; -} - -@media (min-width: 1100px) { - .yoti-edit-section { - padding: 75px 110px; - } -} diff --git a/examples/yoti_example_flask_di/templates/dynamic-share.html b/examples/yoti_example_flask_di/templates/dynamic-share.html deleted file mode 100644 index 494f7e5d..00000000 --- a/examples/yoti_example_flask_di/templates/dynamic-share.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - - - Dynamic Share example - - - - - -
-
-
- Yoti -
- -

We now accept Yoti

- -
-
-
- - - - -
- -
-

The Yoti app is free to download and use:

- -
- - Download on the App Store - - - - get it on Google Play - -
-
-
- - - - - diff --git a/examples/yoti_example_flask_di/templates/index.html b/examples/yoti_example_flask_di/templates/index.html deleted file mode 100644 index dd02e3bc..00000000 --- a/examples/yoti_example_flask_di/templates/index.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - Yoti client example - - - - - - -
-
-
- Yoti -
- -

We now accept Yoti

- -
-
-
- - - - -
- -
-

The Yoti app is free to download and use:

- -
- - Download on the App Store - - - - get it on Google Play - -
-
-
- - - - - - - diff --git a/examples/yoti_example_flask_di/templates/profile.html b/examples/yoti_example_flask_di/templates/profile.html deleted file mode 100644 index 5819341c..00000000 --- a/examples/yoti_example_flask_di/templates/profile.html +++ /dev/null @@ -1,160 +0,0 @@ -{% macro parse_document_images(prop) %} - {% for image in prop.value %} - - {% endfor %} -{% endmacro %} - -{% macro parse_structured_address(prop) %} - - {% for key in prop.value %} - - - - - {% endfor %} -
{{ key }}{{ prop.value[key] }}
-{% endmacro %} - -{% macro parse_document_details(prop) %} - - - - - {% if prop.value.expiration_date %} - - {% endif %} - {% if prop.value.issuing_authority %} - - {% endif %} -
Type{{ prop.value.document_type }}
Issuing Country{{ prop.value.issuing_country }}
Document Number{{ prop.value.document_number }}
Expiration Date{{ prop.value.expiration_date }}
Issuing Authority{{ prop.value.issuing_authority }}
-{% endmacro %} - -{% macro parse_age_verification(prop) %} - - - - - - - - - - - - - -
Check Type{{ prop.value.check_type }}
Age{{ prop.value.age }}
Result{{ prop.value.result }}
-{% endmacro %} - -{% macro attribute(name, icon, prop, prevalue="") %} - {% if prop %} - {% if prop.value %} -
-
-
- - {{ name }} -
-
- -
-
- {% if prop.name == "document_images" %} - {{ parse_document_images(prop) }} - {% elif prop.name == "structured_postal_address" %} - {{ parse_structured_address(prop) }} - {% elif prop.name == "document_details" %} - {{ parse_document_details(prop) }} - {% elif prop.name == "age_verified" %} - {{ parse_age_verification(prop) }} - {% else %} - {{ prevalue }} - {{ prop.value }} - {% endif %} -
-
-
-
S / V
-
Value
-
Sub type
- {% for source in prop.sources %} -
Source
-
{{ source.value }}
-
{{ source.subtype }}
- {% endfor %} - {% for verifier in prop.verifiers %} -
Verifier
-
{{ verifier.value }}
-
{{ verifier.subtype }}
- {% endfor %} -
-
- {% endif %} - {% endif %} -{% endmacro %} - - - - - - - - Yoti client example - - - - - -
-
-
- Powered by - Yoti -
- {% if selfie is not none %} -
- Yoti - -
- {% endif %} - -
- {{ full_name.value }} -
-
- -
- -
-
Attribute
-
Value
-
Anchors
-
- -
-
-
S / V
-
Value
-
Sub type
-
-
- -
- {% if given_names %}{{ attribute("Given names", "yoti-icon-profile", given_names) }}{% endif %} - {% if family_name %}{{ attribute("Family names", "yoti-icon-profile", family_name) }}{% endif %} - {% if phone_number %}{{ attribute("Mobile number", "yoti-icon-phone", phone_number) }}{% endif %} - {% if email_address %}{{ attribute("Email address", "yoti-icon-email", email_address) }}{% endif %} - {% if date_of_birth %}{{ attribute("Date of birth", "yoti-icon-calendar", date_of_birth) }}{% endif %} - {% if age_verified %}{{ attribute("Age verified", "yoti-icon-verified", age_verified, "Age Verification/") }}{% endif %} - {% if postal_address %}{{ attribute("Address", "yoti-icon-address", postal_address) }}{% endif %} - {% if structured_postal_address %}{{ attribute("Structured Address", "yoti-icon-address", structured_postal_address) }}{% endif %} - {% if gender %}{{ attribute("Gender", "yoti-icon-gender", gender) }}{% endif %} - {% if document_images %}{{ attribute("Document Images", "yoti-icon-profile", document_images) }}{% endif %} - {% if document_details %}{{ attribute("Document Details", "yoti-icon-profile", document_details) }} {% endif %} -
- -
-
- - -