Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 5 additions & 7 deletions msal/acquire_token_auth_code_parameters.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
// To use PKCE, set the CodeChallengeParameter.
// Code challenges are used to secure authorization code grants; for more information, visit
// https://tools.ietf.org/html/rfc7636.
type AcquireTokenAuthCodeParameters struct {
type acquireTokenAuthCodeParameters struct {
commonParameters *acquireTokenCommonParameters
redirectURI string
Code string
Expand All @@ -21,18 +21,16 @@ type AcquireTokenAuthCodeParameters struct {
requestType requests.AuthCodeRequestType
}

// CreateAcquireTokenAuthCodeParameters creates an AcquireTokenAuthCodeParameters instance.
// createAcquireTokenAuthCodeParameters creates an AcquireTokenAuthCodeParameters instance.
// Pass in the scopes required, the redirect URI for your application.
func CreateAcquireTokenAuthCodeParameters(scopes []string,
redirectURI string) *AcquireTokenAuthCodeParameters {
p := &AcquireTokenAuthCodeParameters{
func createAcquireTokenAuthCodeParameters(scopes []string, redirectURI string) *acquireTokenAuthCodeParameters {
return &acquireTokenAuthCodeParameters{
commonParameters: createAcquireTokenCommonParameters(scopes),
redirectURI: redirectURI,
}
return p
}

func (p *AcquireTokenAuthCodeParameters) augmentAuthenticationParameters(authParams *msalbase.AuthParametersInternal) {
func (p *acquireTokenAuthCodeParameters) augmentAuthenticationParameters(authParams *msalbase.AuthParametersInternal) {
p.commonParameters.augmentAuthenticationParameters(authParams)
authParams.Redirecturi = p.redirectURI
authParams.AuthorizationType = msalbase.AuthorizationTypeAuthCode
Expand Down
4 changes: 2 additions & 2 deletions msal/acquire_token_auth_code_parameters_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import (
func TestCreateAcquireTokenAuthCodeParameters(t *testing.T) {
expectedScopes := []string{"user.read"}
expectedRedirectURI := "http://localhost:3000/redirect"
params := CreateAcquireTokenAuthCodeParameters(expectedScopes, expectedRedirectURI)
params := createAcquireTokenAuthCodeParameters(expectedScopes, expectedRedirectURI)
if params == nil {
t.Error("Parameters cannot be nil.")
}
Expand All @@ -32,7 +32,7 @@ func TestAugmentAuthenticationParametersForAuth(t *testing.T) {
testRedirectURI := "http://localhost:3000/redirect"
testAuthParams := &msalbase.AuthParametersInternal{}
testTokenCommonParams := &acquireTokenCommonParameters{testScopes}
testAuthCodeParams := &AcquireTokenAuthCodeParameters{
testAuthCodeParams := &acquireTokenAuthCodeParameters{
commonParameters: testTokenCommonParams,
redirectURI: testRedirectURI,
}
Expand Down
9 changes: 4 additions & 5 deletions msal/acquire_token_client_credential_parameters.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,19 @@ package msal
import "github.com/AzureAD/microsoft-authentication-library-for-go/internal/msalbase"

// AcquireTokenClientCredentialParameters contains the parameters required to acquire an access token using the client credential flow.
type AcquireTokenClientCredentialParameters struct {
type acquireTokenClientCredentialParameters struct {
commonParameters *acquireTokenCommonParameters
}

// CreateAcquireTokenClientCredentialParameters creates an AcquireTokenClientCredentialParameters instance.
// Pass in the scopes required.
func CreateAcquireTokenClientCredentialParameters(scopes []string) *AcquireTokenClientCredentialParameters {
params := &AcquireTokenClientCredentialParameters{
func createAcquireTokenClientCredentialParameters(scopes []string) *acquireTokenClientCredentialParameters {
return &acquireTokenClientCredentialParameters{
commonParameters: createAcquireTokenCommonParameters(scopes),
}
return params
}

func (p *AcquireTokenClientCredentialParameters) augmentAuthenticationParameters(authParams *msalbase.AuthParametersInternal) {
func (p *acquireTokenClientCredentialParameters) augmentAuthenticationParameters(authParams *msalbase.AuthParametersInternal) {
p.commonParameters.augmentAuthenticationParameters(authParams)
authParams.AuthorizationType = msalbase.AuthorizationTypeClientCredentials
}
11 changes: 5 additions & 6 deletions msal/acquire_token_device_code_parameters.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import (
"github.com/AzureAD/microsoft-authentication-library-for-go/internal/msalbase"
)

// AcquireTokenDeviceCodeParameters contains the parameters required to acquire an access token using the device code flow.
type AcquireTokenDeviceCodeParameters struct {
// acquireTokenDeviceCodeParameters contains the parameters required to acquire an access token using the device code flow.
type acquireTokenDeviceCodeParameters struct {
commonParameters *acquireTokenCommonParameters
deviceCodeCallback func(DeviceCodeResultProvider)
cancelCtx context.Context
Expand All @@ -22,17 +22,16 @@ type AcquireTokenDeviceCodeParameters struct {
// The DeviceCode object is provided through the DeviceCodeResultProvider callback, and the end-user should be instructed to use
// another device to navigate to the verification URI to input credentials. Since the client cannot receive incoming requests,
// MSAL polls the authorization server repeatedly until the end-user completes input of credentials. Use cancelCtx to cancel the polling.
func CreateAcquireTokenDeviceCodeParameters(cancelCtx context.Context, scopes []string,
deviceCodeCallback func(DeviceCodeResultProvider)) *AcquireTokenDeviceCodeParameters {
p := &AcquireTokenDeviceCodeParameters{
func createAcquireTokenDeviceCodeParameters(cancelCtx context.Context, scopes []string, deviceCodeCallback func(DeviceCodeResultProvider)) *acquireTokenDeviceCodeParameters {
p := &acquireTokenDeviceCodeParameters{
commonParameters: createAcquireTokenCommonParameters(scopes),
deviceCodeCallback: deviceCodeCallback,
cancelCtx: cancelCtx,
}
return p
}

func (p *AcquireTokenDeviceCodeParameters) augmentAuthenticationParameters(authParams *msalbase.AuthParametersInternal) {
func (p *acquireTokenDeviceCodeParameters) augmentAuthenticationParameters(authParams *msalbase.AuthParametersInternal) {
p.commonParameters.augmentAuthenticationParameters(authParams)
authParams.AuthorizationType = msalbase.AuthorizationTypeDeviceCode
}
2 changes: 1 addition & 1 deletion msal/acquire_token_device_code_parameters_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ func TestAugmentAuthenticationParametersDeviceCode(t *testing.T) {
testScopes := []string{"user.read"}
testAuthParams := &msalbase.AuthParametersInternal{}
testTokenCommonParams := &acquireTokenCommonParameters{testScopes}
testDeviceCodeParams := &AcquireTokenDeviceCodeParameters{
testDeviceCodeParams := &acquireTokenDeviceCodeParameters{
commonParameters: testTokenCommonParams,
}
testDeviceCodeParams.augmentAuthenticationParameters(testAuthParams)
Expand Down
12 changes: 6 additions & 6 deletions msal/acquire_token_silent_parameters.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import (
)

// AcquireTokenSilentParameters contains the parameters to acquire a token silently (from cache).
type AcquireTokenSilentParameters struct {
type acquireTokenSilentParameters struct {
commonParameters *acquireTokenCommonParameters
account AccountProvider
requestType requests.RefreshTokenReqType
Expand All @@ -18,8 +18,8 @@ type AcquireTokenSilentParameters struct {

// CreateAcquireTokenSilentParameters creates an AcquireTokenSilentParameters instance with an empty account.
// This can be used in the case where tokens are acquired as the application instelf.
func CreateAcquireTokenSilentParameters(scopes []string) *AcquireTokenSilentParameters {
p := &AcquireTokenSilentParameters{
func createAcquireTokenSilentParameters(scopes []string) *acquireTokenSilentParameters {
p := &acquireTokenSilentParameters{
commonParameters: createAcquireTokenCommonParameters(scopes),
account: &msalbase.Account{},
}
Expand All @@ -28,15 +28,15 @@ func CreateAcquireTokenSilentParameters(scopes []string) *AcquireTokenSilentPara

// CreateAcquireTokenSilentParametersWithAccount creates an AcquireTokenSilentParameters instance from an account.
// This account can be pulled from the cache by calling GetAccounts
func CreateAcquireTokenSilentParametersWithAccount(scopes []string, account AccountProvider) *AcquireTokenSilentParameters {
p := &AcquireTokenSilentParameters{
func createAcquireTokenSilentParametersWithAccount(scopes []string, account AccountProvider) *acquireTokenSilentParameters {
p := &acquireTokenSilentParameters{
commonParameters: createAcquireTokenCommonParameters(scopes),
account: account,
}
return p
}

func (p *AcquireTokenSilentParameters) augmentAuthenticationParameters(authParams *msalbase.AuthParametersInternal) {
func (p *acquireTokenSilentParameters) augmentAuthenticationParameters(authParams *msalbase.AuthParametersInternal) {
p.commonParameters.augmentAuthenticationParameters(authParams)
authParams.AuthorizationType = msalbase.AuthorizationTypeRefreshTokenExchange
authParams.HomeaccountID = p.account.GetHomeAccountID()
Expand Down
2 changes: 1 addition & 1 deletion msal/acquire_token_silent_parameters_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ func TestAugmentAuthenticationParametersSilent(t *testing.T) {
testAccount := &msalbase.Account{
HomeAccountID: homeAccountID,
}
testSilentParams := &AcquireTokenSilentParameters{
testSilentParams := &acquireTokenSilentParameters{
commonParameters: testTokenCommonParams,
account: testAccount,
}
Expand Down
9 changes: 4 additions & 5 deletions msal/acquire_token_username_password_parameters.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,23 @@ package msal
import "github.com/AzureAD/microsoft-authentication-library-for-go/internal/msalbase"

// AcquireTokenUsernamePasswordParameters contains the parameters required to acquire an access token using a username and password.
type AcquireTokenUsernamePasswordParameters struct {
type acquireTokenUsernamePasswordParameters struct {
commonParameters *acquireTokenCommonParameters
username string
password string
}

// CreateAcquireTokenUsernamePasswordParameters creates an AcquireTokenUsernamePasswordParameters instance.
// Pass in the scopes as well as the user's username and password.
func CreateAcquireTokenUsernamePasswordParameters(scopes []string, username string, password string) *AcquireTokenUsernamePasswordParameters {
p := &AcquireTokenUsernamePasswordParameters{
func createAcquireTokenUsernamePasswordParameters(scopes []string, username string, password string) *acquireTokenUsernamePasswordParameters {
return &acquireTokenUsernamePasswordParameters{
commonParameters: createAcquireTokenCommonParameters(scopes),
username: username,
password: password,
}
return p
}

func (p *AcquireTokenUsernamePasswordParameters) augmentAuthenticationParameters(authParams *msalbase.AuthParametersInternal) {
func (p *acquireTokenUsernamePasswordParameters) augmentAuthenticationParameters(authParams *msalbase.AuthParametersInternal) {
p.commonParameters.augmentAuthenticationParameters(authParams)
authParams.AuthorizationType = msalbase.AuthorizationTypeUsernamePassword
authParams.Username = p.username
Expand Down
2 changes: 1 addition & 1 deletion msal/acquire_token_username_password_parameters_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ func TestAugmentAuthenticationParametersForUsernamePass(t *testing.T) {
testPassword := "testPass"
testAuthParams := &msalbase.AuthParametersInternal{}
testTokenCommonParams := &acquireTokenCommonParameters{testScopes}
tokenUserPassParams := &AcquireTokenUsernamePasswordParameters{
tokenUserPassParams := &acquireTokenUsernamePasswordParameters{
commonParameters: testTokenCommonParams,
username: testUsername,
password: testPassword,
Expand Down
9 changes: 4 additions & 5 deletions msal/authorization_code_url_parameters.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,17 @@ type AuthorizationCodeURLParameters struct {

// CreateAuthorizationCodeURLParameters creates an AuthorizationCodeURLParameters instance. These are the basic required parameters to create this URL.
// However, if you want other parameters to be in the URL, you can just set the fields of the struct.
func CreateAuthorizationCodeURLParameters(clientID string, redirectURI string, scopes []string) *AuthorizationCodeURLParameters {
p := &AuthorizationCodeURLParameters{
func CreateAuthorizationCodeURLParameters(clientID string, redirectURI string, scopes []string) AuthorizationCodeURLParameters {
return AuthorizationCodeURLParameters{
ClientID: clientID,
ResponseType: msalbase.DefaultAuthCodeResponseType,
RedirectURI: redirectURI,
Scopes: scopes,
}
return p
}

//createURL creates the URL required to generate an authorization code from the parameters
func (p *AuthorizationCodeURLParameters) createURL(wrm requests.WebRequestManager, authParams *msalbase.AuthParametersInternal) (string, error) {
func (p AuthorizationCodeURLParameters) createURL(wrm requests.WebRequestManager, authParams *msalbase.AuthParametersInternal) (string, error) {
resolutionManager := requests.CreateAuthorityEndpointResolutionManager(wrm)
endpoints, err := resolutionManager.ResolveEndpoints(authParams.AuthorityInfo, "")
if err != nil {
Expand Down Expand Up @@ -78,6 +77,6 @@ func (p *AuthorizationCodeURLParameters) createURL(wrm requests.WebRequestManage
return baseURL.String(), nil
}

func (p *AuthorizationCodeURLParameters) getSeparatedScopes() string {
func (p AuthorizationCodeURLParameters) getSeparatedScopes() string {
return msalbase.ConcatenateScopes(p.Scopes)
}
20 changes: 6 additions & 14 deletions msal/client_application.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,11 @@ func createClientApplication(clientID string, authority string) *clientApplicati
return client
}

func (client *clientApplication) createAuthCodeURL(authCodeURLParameters *AuthorizationCodeURLParameters) (string, error) {
func (client *clientApplication) createAuthCodeURL(authCodeURLParameters AuthorizationCodeURLParameters) (string, error) {
return authCodeURLParameters.createURL(client.webRequestManager, client.clientApplicationParameters.createAuthenticationParameters())
}

func (client *clientApplication) acquireTokenSilent(
silentParameters *AcquireTokenSilentParameters) (AuthenticationResultProvider, error) {
func (client *clientApplication) acquireTokenSilent(silentParameters *acquireTokenSilentParameters) (*msalbase.AuthenticationResult, error) {
authParams := client.clientApplicationParameters.createAuthenticationParameters()
silentParameters.augmentAuthenticationParameters(authParams)
if client.cacheAccessor != nil {
Expand Down Expand Up @@ -73,8 +72,7 @@ func (client *clientApplication) acquireTokenSilent(
return nil, errors.New("no cache entry found")
}

func (client *clientApplication) acquireTokenByAuthCode(
authCodeParams *AcquireTokenAuthCodeParameters) (AuthenticationResultProvider, error) {
func (client *clientApplication) acquireTokenByAuthCode(authCodeParams *acquireTokenAuthCodeParameters) (*msalbase.AuthenticationResult, error) {
authParams := client.clientApplicationParameters.createAuthenticationParameters()
authCodeParams.augmentAuthenticationParameters(authParams)
req := requests.CreateAuthCodeRequest(client.webRequestManager, authParams, authCodeParams.requestType)
Expand All @@ -96,9 +94,7 @@ func (client *clientApplication) executeTokenRequestWithoutCacheWrite(
return msalbase.CreateAuthenticationResult(tokenResponse, nil)
}

func (client *clientApplication) executeTokenRequestWithCacheWrite(
req requests.TokenRequester,
authParams *msalbase.AuthParametersInternal) (AuthenticationResultProvider, error) {
func (client *clientApplication) executeTokenRequestWithCacheWrite(req requests.TokenRequester, authParams *msalbase.AuthParametersInternal) (*msalbase.AuthenticationResult, error) {
tokenResponse, err := req.Execute()
if err != nil {
return nil, err
Expand All @@ -114,17 +110,13 @@ func (client *clientApplication) executeTokenRequestWithCacheWrite(
return msalbase.CreateAuthenticationResult(tokenResponse, account)
}

func (client *clientApplication) getAccounts() []AccountProvider {
returnedAccounts := []AccountProvider{}
func (client *clientApplication) getAccounts() []*msalbase.Account {
if client.cacheAccessor != nil {
client.cacheAccessor.BeforeCacheAccess(client.cacheContext)
}
accounts := client.cacheContext.cache.GetAllAccounts()
if client.cacheAccessor != nil {
client.cacheAccessor.AfterCacheAccess(client.cacheContext)
}
for _, acc := range accounts {
returnedAccounts = append(returnedAccounts, acc)
}
return returnedAccounts
return accounts
}
2 changes: 1 addition & 1 deletion msal/client_application_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ var (

func TestAcquireTokenSilent(t *testing.T) {
account := &msalbase.Account{}
silentParams := &AcquireTokenSilentParameters{
silentParams := &acquireTokenSilentParameters{
commonParameters: tokenCommonParams,
account: account,
}
Expand Down
Loading