Keycloak 用户邀请电子邮件

Yas*_*dav 3 python authentication django single-sign-on keycloak

我在 Django 项目中使用 Keycloak-9.0.2 作为 SSO。我想由一个用户向另一用户发送电子邮件中的邀请链接。Keycloak 中是否有相同的内置功能?如果不是,那么在 Django 中执行此操作的更好方法应该是什么。

小智 5

您可以像这样使用python-keycloak库:

from keycloak import KeycloakAdmin

keycloak_admin = KeycloakAdmin(server_url="http://localhost:8080/auth/",
                           username='example-admin',
                           password='secret',
                           realm_name="master",
                           user_realm_name="only_if_other_realm_than_master",
                           client_secret_key="client-secret",
                           verify=True)
# Add user                       
new_user = keycloak_admin.create_user({"email": "example@example.com",
                "username": "example@example.com",
                "enabled": True,
                "requiredActions": ["UPDATE_PASSWORD", "UPDATE_PROFILE", "VERIFY_EMAIL"]})


# Get user ID from name
user_id_keycloak = keycloak_admin.get_user_id("example@example.com")

# Send User Action
response = keycloak_admin.send_update_account(user_id=user_id_keycloak, 
                                          payload=json.dumps(["UPDATE_PASSWORD", "UPDATE_PROFILE", "VERIFY_EMAIL"]))
Run Code Online (Sandbox Code Playgroud)

然后你会收到这样的邀请邮件:

电子邮件邀请示例