func getPublicClient()

in pkg/internal/pop/msal_public.go [89:114]


func getPublicClient(msalOptions *MsalClientOptions) (*public.Client, error) {
	var client public.Client
	var err error
	if msalOptions == nil {
		return nil, fmt.Errorf("unable to create public client: MsalClientOptions is empty")
	}
	if msalOptions.Options.Transport != nil {
		client, err = public.New(
			msalOptions.ClientID,
			public.WithAuthority(msalOptions.Authority),
			public.WithHTTPClient(msalOptions.Options.Transport.(*http.Client)),
			public.WithInstanceDiscovery(!msalOptions.DisableInstanceDiscovery),
		)
	} else {
		client, err = public.New(
			msalOptions.ClientID,
			public.WithAuthority(msalOptions.Authority),
			public.WithInstanceDiscovery(!msalOptions.DisableInstanceDiscovery),
		)
	}
	if err != nil {
		return nil, fmt.Errorf("unable to create public client: %w", err)
	}

	return &client, nil
}