|
3 | 3 | """ |
4 | 4 |
|
5 | 5 | import logging |
6 | | -import pyotp |
7 | 6 |
|
| 7 | +import pyotp |
8 | 8 | from flask import Blueprint, render_template, request, redirect, flash |
9 | 9 | from flask import session as flask_session |
10 | 10 |
|
11 | | - |
| 11 | +from selfservice import version, auth, OIDC_PROVIDER |
| 12 | +from selfservice.utilities.app_passwd import delete_app_passwd |
12 | 13 | from selfservice.utilities.keycloak import ( |
13 | 14 | OTPConfigError, |
14 | 15 | OTPInvalidCode, |
|
18 | 19 | register_kc_otp, |
19 | 20 | delete_kc_otp, |
20 | 21 | ) |
21 | | -from selfservice.utilities.ldap import create_ipa_otp, has_ipa_otp, delete_ipa_otp |
22 | | -from selfservice.utilities.app_passwd import set_app_passwd, delete_app_passwd |
23 | | -from selfservice import version, auth, OIDC_PROVIDER |
| 22 | +from selfservice.utilities.ldap import delete_ipa_otp |
24 | 23 |
|
25 | 24 | otp_bp = Blueprint("otp", __name__) |
26 | 25 |
|
|
31 | 30 | @auth.oidc_auth(OIDC_PROVIDER) |
32 | 31 | def enable(): |
33 | 32 | """ |
34 | | - Creates a Keycloak OTP secret and then displays that to the user. Once |
35 | | - the user has verified their token, it is then replicated in FreeIPA. |
| 33 | + Creates a Keycloak OTP secret and then displays that to the user. |
36 | 34 | """ |
37 | 35 | username = flask_session["userinfo"].get("preferred_username") |
38 | 36 | secret = request.args.get("secret", default="", type=str) |
39 | 37 | otp_code = request.form.get("otp-code", default="") |
40 | 38 |
|
41 | 39 | if request.method == "GET": |
42 | 40 | kc_registered = get_kc_otp_is_registered(username) |
43 | | - ipa_registered = has_ipa_otp(username) |
44 | | - |
45 | | - # If its registered in one place but not the other |
46 | | - if kc_registered != ipa_registered: |
47 | | - LOG.warning( |
48 | | - "%s does not have TOTP in both Keycloak and LDAP " |
49 | | - "(kc_registered=%s, ipa_registered=%s)", |
50 | | - username, |
51 | | - kc_registered, |
52 | | - ipa_registered, |
53 | | - ) |
54 | | - |
55 | | - # If already registered *somewhere* |
56 | | - if kc_registered or ipa_registered: |
| 41 | + |
| 42 | + # If already registered |
| 43 | + if kc_registered: |
57 | 44 | return render_template("otp.html", version=version, configured=True) |
58 | 45 |
|
59 | 46 | secret = generate_kc_otp(username) |
@@ -97,11 +84,8 @@ def enable(): |
97 | 84 | flash("2FA already configured.") |
98 | 85 | return redirect("/otp") |
99 | 86 |
|
100 | | - create_ipa_otp(username, secret) |
101 | | - app_passwd = set_app_passwd(username) |
102 | | - |
103 | 87 | return render_template( |
104 | | - "otp.html", version=version, configured=True, passwd=app_passwd |
| 88 | + "otp.html", version=version, configured=True |
105 | 89 | ) |
106 | 90 |
|
107 | 91 |
|
|
0 commit comments