@@ -56,6 +56,24 @@ def __init__(
5656 self .status = status
5757
5858
59+ class CreateUserObj :
60+ def __init__ (
61+ self ,
62+ email : Optional [str ] = None ,
63+ phone : Optional [str ] = None ,
64+ name : Optional [str ] = None ,
65+ given_name : Optional [str ] = None ,
66+ middle_name : Optional [str ] = None ,
67+ family_name : Optional [str ] = None ,
68+ ):
69+ self .email = email
70+ self .phone = phone
71+ self .name = name
72+ self .given_name = given_name
73+ self .middle_name = middle_name
74+ self .family_name = family_name
75+
76+
5977class User (AuthBase ):
6078 def create (
6179 self ,
@@ -1655,7 +1673,7 @@ def generate_enchanted_link_for_test_user(
16551673 return response .json ()
16561674
16571675 def generate_embedded_link (
1658- self , login_id : str , custom_claims : Optional [dict ] = None
1676+ self , login_id : str , custom_claims : Optional [dict ] = None , timeout : int = 0
16591677 ) -> str :
16601678 """
16611679 Generate Embedded Link for the given user login ID.
@@ -1673,7 +1691,44 @@ def generate_embedded_link(
16731691 """
16741692 response = self ._auth .do_post (
16751693 MgmtV1 .user_generate_embedded_link_path ,
1676- {"loginId" : login_id , "customClaims" : custom_claims },
1694+ {"loginId" : login_id , "customClaims" : custom_claims , "timeout" : timeout },
1695+ pswd = self ._auth .management_key ,
1696+ )
1697+ return response .json ()["token" ]
1698+
1699+ def generate_sign_up_embedded_link (
1700+ self , login_id : str , user : Optional [CreateUserObj ] = None ,
1701+ email_verified : bool = False , phone_verified : bool = False ,
1702+ login_options : Optional [LoginOptions ] = None , timeout : int = 0
1703+ ) -> str :
1704+ """
1705+ Generate sign up Embedded Link for the given user login ID.
1706+ The return value is a token that can be verified via magic link, or using flows
1707+
1708+ Args:
1709+ login_id (str): The login ID of the user to authenticate with.
1710+ user (CreateUserObj): Optional user object to create the user with
1711+ email_verified (bool): Optional, set to true if the email is verified
1712+ phone_verified (bool): Optional, set to true if the phone is verified
1713+ login_options (LoginOptions): Optional login options to customize the link
1714+ timeout (int): Optional, the timeout in seconds for the link to be valid
1715+
1716+ Return value (str):
1717+ Return the token to be used in verification process
1718+
1719+ Raise:
1720+ AuthException: raised if the operation fails
1721+ """
1722+ response = self ._auth .do_post (
1723+ MgmtV1 .user_generate_sign_up_embedded_link_path ,
1724+ {
1725+ "loginId" : login_id ,
1726+ "user" : user .__dict__ if user else {},
1727+ "loginOptions" : login_options .__dict__ if login_options else {},
1728+ "emailVerified" : email_verified ,
1729+ "phoneVerified" : phone_verified ,
1730+ "timeout" : timeout
1731+ },
16771732 pswd = self ._auth .management_key ,
16781733 )
16791734 return response .json ()["token" ]
0 commit comments