18 lines
		
	
	
		
			551 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			551 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""passbook OTP Utils"""
 | 
						|
 | 
						|
from django.utils.http import urlencode
 | 
						|
 | 
						|
 | 
						|
def otpauth_url(accountname, secret, issuer=None, digits=6):
 | 
						|
    """Create otpauth according to
 | 
						|
    https://github.com/google/google-authenticator/wiki/Key-Uri-Format"""
 | 
						|
    # Ensure that the secret parameter is the FIRST parameter of the URI, this
 | 
						|
    # allows Microsoft Authenticator to work.
 | 
						|
    query = [
 | 
						|
        ("secret", secret),
 | 
						|
        ("digits", digits),
 | 
						|
        ("issuer", "passbook"),
 | 
						|
    ]
 | 
						|
 | 
						|
    return "otpauth://totp/%s:%s?%s" % (issuer, accountname, urlencode(query))
 |