public async Task <LoginResult> RefreshToken()
        {
            try
            {
                using (var da = new CredentialDataAccess(_conStr))
                {
                    var savedCred = (await da.GetByParent <Workflow, Connector>(_workflowId, _connectorId)).FirstOrDefault();

                    if (savedCred != null)
                    {
                        LoginRequest data = new LoginRequest
                        {
                            Username      = savedCred.UserName,
                            Password      = savedCred.Password,
                            SecurityToken = savedCred.SecretToken
                        };

                        SalesforceClient_Authentication client = new SalesforceClient_Authentication();

                        var result = await client.LoginAsync(data);

                        return(result);
                    }
                }

                return(null);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
        private async Task SaveCredentials(LoginRequest data, int workflowId, int connectorId)
        {
            using (var da = new CredentialDataAccess(_conStr))
            {
                var existingCred = (await da.GetByParent <Workflow, Connector>(workflowId, connectorId)).FirstOrDefault();

                if (existingCred != null)
                {
                    existingCred.UserName    = data.Username;
                    existingCred.Password    = data.Password;
                    existingCred.SecretToken = data.SecurityToken;

                    await da.UpdateAsync(existingCred);
                }
                else
                {
                    var cred = new Credential
                    {
                        UserName     = data.Username,
                        Password     = data.Password,
                        SecretToken  = data.SecurityToken,
                        HostUrl      = data.ServerHost,
                        OrgId        = data.OrgId,
                        EndPointName = data.EndpointName,
                        WorkflowId   = workflowId,
                        ConnectorId  = connectorId
                    };

                    await da.CreateAsync(cred);
                }
            }
        }
Exemplo n.º 3
0
 public static async Task <IActionResult> CredentialsGet(
     [HttpTrigger(AuthorizationLevel.Anonymous, "get", Route = "workflows/{workflowId}/{connectorId}/credentials")] HttpRequest req,
     int workflowId, int connectorId)
 {
     using (var da = new CredentialDataAccess(conStr))
     {
         return(new OkObjectResult(await da.GetByParent <Workflow, Connector>(workflowId, connectorId)));
     }
 }