@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix mcr: <https://registry.apicrafter.io/vocab#> .
@prefix dt: <https://registry.apicrafter.io/datatype/> .
@prefix cat: <https://registry.apicrafter.io/category/> .
@prefix country: <https://registry.apicrafter.io/country/> .
@prefix tool: <https://registry.apicrafter.io/tool/> .

dt:otpauth_uri a skos:Concept ;
    skos:inScheme <https://registry.apicrafter.io/> ;
    skos:topConceptOf <https://registry.apicrafter.io/> ;
    skos:notation "otpauth_uri" ;
    skos:prefLabel "One-time password key URI (otpauth)"@en ;
    skos:definition "URI that provisions an HOTP or TOTP one-time password generator, usually shown as a QR code: otpauth://TYPE/LABEL?PARAMETERS, where TYPE is hotp or totp, the label names the account and the issuer, and the secret parameter carries the shared key in Base32. Whoever has the URI can generate the second factor of the account."@en ;
    skos:example "otpauth://totp/Example:alice@google.com?secret=JBSWY3DPEHPK3PXP&issuer=Example" ;
    mcr:status "draft" ;
    mcr:isPII false ;
    mcr:regexp "^otpauth://(?:totp|hotp)/[^?\\s]+\\?(?:\\S*&)?secret=[A-Za-z2-7]+=*(?:&\\S*)?$" ;
    rdfs:seeAlso <https://github.com/google/google-authenticator/wiki/Key-Uri-Format> .
