Skip to content

Commit

Permalink
Adding User assigned identity support for the MSIConfig authorizor (#332
Browse files Browse the repository at this point in the history
)
  • Loading branch information
samkreter authored and jhendrixMSFT committed Oct 20, 2018
1 parent 4492bbb commit 2175dcc
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions autorest/azure/auth/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -483,9 +483,17 @@ func (mc MSIConfig) Authorizer() (autorest.Authorizer, error) {
return nil, err
}

spToken, err := adal.NewServicePrincipalTokenFromMSI(msiEndpoint, mc.Resource)
if err != nil {
return nil, fmt.Errorf("failed to get oauth token from MSI: %v", err)
var spToken *adal.ServicePrincipalToken
if mc.ClientID == "" {
spToken, err = adal.NewServicePrincipalTokenFromMSI(msiEndpoint, mc.Resource)
if err != nil {
return nil, fmt.Errorf("failed to get oauth token from MSI: %v", err)
}
} else {
spToken, err = adal.NewServicePrincipalTokenFromMSIWithUserAssignedID(msiEndpoint, mc.Resource, mc.ClientID)
if err != nil {
return nil, fmt.Errorf("failed to get oauth token from MSI for user assigned identity: %v", err)
}
}

return autorest.NewBearerAuthorizer(spToken), nil
Expand Down

0 comments on commit 2175dcc

Please sign in to comment.