introduce pyotp and support generating totp within skyvern (#1176)

This commit is contained in:
Shuchang Zheng 2024-11-12 02:17:22 -08:00 committed by GitHub
parent 79bc51ba54
commit efdf4b5cab
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 26 additions and 24 deletions

View file

@ -199,6 +199,8 @@ class WorkflowRunContext:
if BitwardenConstants.TOTP in secret_credentials and secret_credentials[BitwardenConstants.TOTP]:
totp_secret_id = f"{random_secret_id}_totp"
self.secrets[totp_secret_id] = BitwardenConstants.TOTP
totp_secret_value = self.totp_secret_value_key(totp_secret_id)
self.secrets[totp_secret_value] = secret_credentials[BitwardenConstants.TOTP]
self.values[parameter.key]["totp"] = totp_secret_id
except BitwardenBaseError as e:
@ -451,6 +453,9 @@ class WorkflowRunContext:
self.parameters[parameter.key] = parameter
await self.register_parameter_value(aws_client, parameter, organization)
def totp_secret_value_key(self, totp_secret_id: str) -> str:
return f"{totp_secret_id}_value"
class WorkflowContextManager:
aws_client: AsyncAWSClient