Skip to content

Commit c4e7031

Browse files
committed
Add new way of get organization id token
1 parent 7e898b8 commit c4e7031

File tree

2 files changed

+8
-5
lines changed

2 files changed

+8
-5
lines changed

internal/iot/client.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -43,15 +43,15 @@ func NewClient(key, secret, organization string) (*Client, error) {
4343
return cl, nil
4444
}
4545

46-
func (cl *Client) setup(client, secret, organization string) error {
46+
func (cl *Client) setup(client, secret, organizationId string) error {
4747
baseURL := GetArduinoAPIBaseURL()
4848

4949
// Configure a token source given the user's credentials.
50-
cl.token = NewUserTokenSource(client, secret, baseURL)
50+
cl.token = NewUserTokenSource(client, secret, baseURL, organizationId)
5151

5252
config := iotclient.NewConfiguration()
53-
if organization != "" {
54-
config.AddDefaultHeader("X-Organization", organization)
53+
if organizationId != "" {
54+
config.AddDefaultHeader("X-Organization", organizationId)
5555
}
5656
config.Servers = iotclient.ServerConfigurations{
5757
{

internal/iot/token.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,13 @@ func GetArduinoAPIBaseURL() string {
3737
}
3838

3939
// Build a new token source to forge api JWT tokens based on provided credentials
40-
func NewUserTokenSource(client, secret, baseURL string) oauth2.TokenSource {
40+
func NewUserTokenSource(client, secret, baseURL, organizationId string) oauth2.TokenSource {
4141
// We need to pass the additional "audience" var to request an access token.
4242
additionalValues := url.Values{}
4343
additionalValues.Add("audience", "https://api2.arduino.cc/iot")
44+
if organizationId != "" {
45+
additionalValues.Add("organization_id", organizationId)
46+
}
4447
// Set up OAuth2 configuration.
4548
config := cc.Config{
4649
ClientID: client,

0 commit comments

Comments
 (0)