Skip to content
This repository has been archived by the owner on Feb 12, 2025. It is now read-only.

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 19, 2018
1 parent 0b5e8cb commit e3e073a
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 e3e073a

Please sign in to comment.