# README
Credentials
To access Salesforce APIs
, there needs to be authentication between the client and the org. go-sfdc
uses OAuth 2.0 and this package provides the credentials needed to authenticate.
The user is able to use the Providers
that are part of this package, or implement one of their own. This allows for extendability beyond what is currently supported.
Currently, this package supports grant type
of password OAuth flow. The package may or may not be support other flows in the future.
Examples
The following are some example(s) of creating credentials to be used when opening a session.
Password
creds := credentials.PasswordCredentials{
URL: "https://login.salesforce.com",
Username: "[email protected]",
Password: "greatpassword",
ClientID: "asdfnapodfnavppe",
ClientSecret: "12312573857105",
}
config := sfdc.Configuration{
Credentials: credentials.NewPasswordCredentials(creds),
Client: salesforceHTTPClient,
Version: 44,
}
JWT
// read the key file
privateKeyFile, err := os.Open("/path/to/server.key")
if err != nil {
panic()
}
pemfileinfo, _ := privateKeyFile.Stat()
var size int64 = pemfileinfo.Size()
pembytes := make([]byte, size)
buffer := bufio.NewReader(privateKeyFile)
_, err = buffer.Read(pembytes)
pemData := []byte(pembytes)
privateKeyFile.Close() // close file
signKey, err := jwt.ParseRSAPrivateKeyFromPEM(pemData)
// prepare the credentials
jwtCreds := credentials.JwtCredentials{
URL: "https://login.salesforce.com",
ClientId: "glfeoeirjgouwehf",
ClientUsername: "[email protected]",
ClientKey: signKey,
}
config := sfdc.Configuration{
Credentials: credentials.NewJWTCredentials(jwtCreds),
Client: &http.Client{},
Version: 44,
}
# Functions
NewCredentials will create a credential with the custom provider.
NewJWTCredentials weill create a credntial with all required info about generating a JWT claims parameter.
NewPasswordCredentials will create a crendential with the password credentials.
# Constants
No description provided by the author
# Structs
Credentials is the structure that contains all of the information for creating a session.
No description provided by the author
PasswordCredentials is a structure for the OAuth credentials that are needed to authenticate with a Salesforce org.
# Interfaces
Provider is the interface that is able to provide the session creator with all of the valid information.