@@ -269,16 +269,13 @@ def create_magic_link(
269269 self ,
270270 email : str ,
271271 redirect_to_url : Optional [str ] = None ,
272- expires_in_hours : Optional [str ] = None ,
272+ expires_in_hours : Optional [int ] = None ,
273273 create_new_user_if_one_doesnt_exist : Optional [bool ] = None ,
274274 user_signup_query_parameters : Optional [Dict [str , Any ]] = None ,
275+ expire_after_first_use : Optional [bool ] = None
275276 ):
276277 return self .auth .create_magic_link (
277- email ,
278- redirect_to_url ,
279- expires_in_hours ,
280- create_new_user_if_one_doesnt_exist ,
281- user_signup_query_parameters ,
278+ email , redirect_to_url , expires_in_hours , create_new_user_if_one_doesnt_exist , user_signup_query_parameters , expire_after_first_use
282279 )
283280
284281 def create_access_token (
@@ -460,13 +457,8 @@ def create_api_key(
460457 ):
461458 return self .auth .create_api_key (org_id , user_id , expires_at_seconds , metadata )
462459
463- def update_api_key (
464- self ,
465- api_key_id : str ,
466- expires_at_seconds : Optional [str ] = None ,
467- metadata : Optional [Dict [str , Any ]] = None ,
468- ):
469- return self .auth .update_api_key (api_key_id , expires_at_seconds , metadata )
460+ def update_api_key (self , api_key_id : str , expires_at_seconds : Optional [str ] = None , metadata : Optional [Dict [str , Any ]] = None , set_to_never_expire : Optional [bool ] = None ):
461+ return self .auth .update_api_key (api_key_id , expires_at_seconds , metadata , set_to_never_expire )
470462
471463 def delete_api_key (self , api_key_id : str ):
472464 return self .auth .delete_api_key (api_key_id )
@@ -508,6 +500,80 @@ def verify_step_up_totp_challenge(
508500
509501 def verify_step_up_grant (self , action_type : str , user_id : str , grant : str ) -> bool :
510502 return self .auth .verify_step_up_grant (action_type , user_id , grant )
503+
504+ def fetch_user_mfa_methods (self , user_id : str ):
505+ return self .auth .fetch_user_mfa_methods (user_id )
506+
507+ def invite_user_to_org_by_user_id (
508+ self , user_id : str , org_id : str , role : str , additional_roles : List [str ] = []
509+ ):
510+ return self .auth .invite_user_to_org_by_user_id (
511+ user_id ,
512+ org_id ,
513+ role ,
514+ additional_roles ,
515+ )
516+
517+ def validate_imported_api_key (self , api_key_token : str ):
518+ return self .auth .validate_imported_api_key (api_key_token )
519+
520+ def fetch_api_key_usage (
521+ self ,
522+ date : str ,
523+ org_id : Optional [str ] = None ,
524+ user_id : Optional [str ] = None ,
525+ api_key_id : Optional [str ] = None
526+ ):
527+ return self .auth .fetch_api_key_usage (
528+ date , org_id , user_id , api_key_id
529+ )
530+
531+ def import_api_key (
532+ self ,
533+ api_key_token : str ,
534+ org_id : Optional [str ] = None ,
535+ user_id : Optional [str ] = None ,
536+ expires_at_seconds : Optional [str ] = None ,
537+ metadata : Optional [Dict [str , Any ]] = None ,
538+ ):
539+ return self .auth .import_api_key (
540+ api_key_token ,
541+ org_id ,
542+ user_id ,
543+ expires_at_seconds ,
544+ metadata ,
545+ )
546+
547+ def send_sms_mfa_code (
548+ self ,
549+ action_type : str ,
550+ user_id : str ,
551+ mfa_phone_id : str ,
552+ grant_type : StepUpMfaGrantType ,
553+ valid_for_seconds : int ,
554+ ):
555+ return self .auth .send_sms_mfa_code (
556+ action_type ,
557+ user_id ,
558+ mfa_phone_id ,
559+ grant_type ,
560+ valid_for_seconds
561+ )
562+
563+ def verify_sms_challenge (
564+ self ,
565+ challenge_id : str ,
566+ user_id : str ,
567+ code : str ,
568+ ):
569+ return self .auth .verify_sms_challenge (
570+ challenge_id ,
571+ user_id ,
572+ code
573+ )
574+
575+ def fetch_employee_by_id (self , employee_id : str ):
576+ return self .auth .fetch_employee_by_id (employee_id )
511577
512578
513579class FlaskAuthAsync ():
@@ -672,12 +738,13 @@ async def create_magic_link(
672738 self ,
673739 email : str ,
674740 redirect_to_url : Optional [str ] = None ,
675- expires_in_hours : Optional [str ] = None ,
741+ expires_in_hours : Optional [int ] = None ,
676742 create_new_user_if_one_doesnt_exist : Optional [bool ] = None ,
677743 user_signup_query_parameters : Optional [Dict [str , Any ]] = None ,
744+ expire_after_first_use : Optional [bool ] = None
678745 ):
679746 return await self .auth .create_magic_link (
680- email , redirect_to_url , expires_in_hours , create_new_user_if_one_doesnt_exist , user_signup_query_parameters
747+ email , redirect_to_url , expires_in_hours , create_new_user_if_one_doesnt_exist , user_signup_query_parameters , expire_after_first_use
681748 )
682749
683750 async def create_access_token (self , user_id : str , duration_in_minutes : int , active_org_id : Optional [str ] = None ):
@@ -824,8 +891,8 @@ async def create_api_key(
824891 ):
825892 return await self .auth .create_api_key (org_id , user_id , expires_at_seconds , metadata )
826893
827- async def update_api_key (self , api_key_id : str , expires_at_seconds : Optional [str ] = None , metadata : Optional [Dict [str , Any ]] = None ):
828- return await self .auth .update_api_key (api_key_id , expires_at_seconds , metadata )
894+ async def update_api_key (self , api_key_id : str , expires_at_seconds : Optional [str ] = None , metadata : Optional [Dict [str , Any ]] = None , set_to_never_expire : Optional [ bool ] = None ):
895+ return await self .auth .update_api_key (api_key_id , expires_at_seconds , metadata , set_to_never_expire )
829896
830897 async def delete_api_key (self , api_key_id : str ):
831898 return await self .auth .delete_api_key (api_key_id )
@@ -865,6 +932,93 @@ async def verify_step_up_totp_challenge(
865932
866933 async def verify_step_up_grant (self , action_type : str , user_id : str , grant : str ) -> bool :
867934 return await self .auth .verify_step_up_grant (action_type , user_id , grant )
935+
936+ async def validate_imported_api_key (self , api_key_token : str ):
937+ return await self .auth .validate_imported_api_key (
938+ api_key_token = api_key_token
939+ )
940+
941+ async def fetch_api_key_usage (
942+ self ,
943+ date : str ,
944+ org_id : Optional [str ] = None ,
945+ user_id : Optional [str ] = None ,
946+ api_key_id : Optional [str ] = None
947+ ):
948+ return await self .auth .fetch_api_key_usage (
949+ date ,
950+ org_id ,
951+ user_id ,
952+ api_key_id
953+ )
954+
955+ async def import_api_key (
956+ self ,
957+ api_key_token : str ,
958+ org_id : Optional [str ] = None ,
959+ user_id : Optional [str ] = None ,
960+ expires_at_seconds : Optional [str ] = None ,
961+ metadata : Optional [Dict [str , Any ]] = None ,
962+ ):
963+ return await self .auth .import_api_key (
964+ api_key_token ,
965+ org_id ,
966+ user_id ,
967+ expires_at_seconds ,
968+ metadata ,
969+ )
970+
971+ async def invite_user_to_org_by_user_id (
972+ self ,
973+ user_id : str ,
974+ org_id : str ,
975+ role : str ,
976+ additional_roles : List [str ] = []
977+ ):
978+ return await self .auth .invite_user_to_org_by_user_id (
979+ user_id ,
980+ org_id ,
981+ role ,
982+ additional_roles ,
983+ )
984+
985+ async def fetch_user_mfa_methods (self , user_id : str ):
986+ return await self .auth .fetch_user_mfa_methods (
987+ user_id ,
988+ )
989+
990+ async def send_sms_mfa_code (
991+ self ,
992+ action_type : str ,
993+ user_id : str ,
994+ mfa_phone_id : str ,
995+ grant_type : StepUpMfaGrantType ,
996+ valid_for_seconds : int ,
997+ ):
998+ return await self .auth .send_sms_mfa_code (
999+ action_type ,
1000+ user_id ,
1001+ mfa_phone_id ,
1002+ grant_type ,
1003+ valid_for_seconds
1004+ )
1005+
1006+ async def verify_sms_challenge (
1007+ self ,
1008+ challenge_id : str ,
1009+ user_id : str ,
1010+ code : str ,
1011+ ):
1012+ return await self .auth .verify_sms_challenge (
1013+ challenge_id ,
1014+ user_id ,
1015+ code
1016+ )
1017+
1018+ async def fetch_employee_by_id (self , employee_id : str ):
1019+ return await self .auth .fetch_employee_by_id (
1020+ employee_id
1021+ )
8681022
8691023def init_auth (
8701024 auth_url : str ,
0 commit comments