pacchetto pubblico

import "github.com/AzureAD/microsoft-authentication-library-for-go/apps/public"

Il pacchetto public fornisce un client per l'autenticazione di applicazioni "pubbliche". Un'applicazione "pubblica" viene definita come un'app eseguita nei dispositivi client (android, ios, windows, linux, ...). Questi dispositivi sono "non attendibili" e accedono alle risorse tramite API Web che devono eseguire l'autenticazione.

func WithChallenge

func WithChallenge(challenge string) interface {
    AcquireByAuthCodeOption
    options.CallOption
}

WithChallenge consente di fornire un codice per . Chiamata acquireTokenByAuthCode().

func WithClaims

func WithClaims(claims string) interface {
    AcquireByAuthCodeOption
    AcquireByDeviceCodeOption
    AcquireByUsernamePasswordOption
    AcquireInteractiveOption
    AcquireSilentOption
    AuthCodeURLOption
    options.CallOption
}

WithClaims imposta attestazioni aggiuntive da richiedere per il token, ad esempio quelle richieste dai criteri di accesso condizionale. Usare questa opzione quando Azure AD ha restituito una richiesta di attestazioni per una richiesta precedente. L'argomento deve essere decodificato. Questa opzione è valida per qualsiasi metodo di acquisizione di token.

func WithDomainHint

func WithDomainHint(domain string) interface {
    AcquireInteractiveOption
    AuthCodeURLOption
    options.CallOption
}

WithDomainHint aggiunge il dominio IdP come parametro di query domain_hint nell'URL di autenticazione.

func WithLoginHint

func WithLoginHint(username string) interface {
    AcquireInteractiveOption
    AuthCodeURLOption
    options.CallOption
}

WithLoginHint precompila la richiesta di accesso con un nome utente.

func WithRedirectURI

func WithRedirectURI(redirectURI string) interface {
    AcquireInteractiveOption
    options.CallOption
}

WithRedirectURI imposta una porta per il server locale usato nell'autenticazione interattiva, ad esempio http://localhost:port. Tutti i componenti URI diversi dalla porta vengono ignorati.

func WithSilentAccount

func WithSilentAccount(account Account) interface {
    AcquireSilentOption
    options.CallOption
}

WithSilentAccount usa l'account passato durante una chiamata AcquireTokenSilent().

func WithTenantID

func WithTenantID(tenantID string) interface {
    AcquireByAuthCodeOption
    AcquireByDeviceCodeOption
    AcquireByUsernamePasswordOption
    AcquireInteractiveOption
    AcquireSilentOption
    AuthCodeURLOption
    options.CallOption
}

WithTenantID specifica un tenant per una singola autenticazione. Può essere diverso dal tenant impostato in [Nuovo] da [WithAuthority]. Questa opzione è valida per qualsiasi metodo di acquisizione di token.

digitare Account

type Account = shared.Account

tipo AcquireByAuthCodeOption

AcquireByAuthCodeOption viene implementato dalle opzioni per AcquireTokenByAuthCode

type AcquireByAuthCodeOption interface {
    // contains filtered or unexported methods
}

tipo AcquireByDeviceCodeOption

AcquireByDeviceCodeOption viene implementato dalle opzioni per AcquireTokenByDeviceCode

type AcquireByDeviceCodeOption interface {
    // contains filtered or unexported methods
}

type AcquireByUsernamePasswordOption

Avvertimento

AcquireTokenByUsernamePassword è stato deprecato a causa di rischi per la sicurezza. Microsoft consiglia di usare un flusso di autenticazione più sicuro. Seguire le indicazioni ufficiali su come eseguire la migrazione da ROPC.

AcquireByUsernamePasswordOption viene implementato dalle opzioni per AcquireTokenByUsernamePassword

type AcquireByUsernamePasswordOption interface {
    // contains filtered or unexported methods
}

tipo AcquireInteractiveOption

AcquireInteractiveOption viene implementato dalle opzioni per AcquireTokenInteractive

type AcquireInteractiveOption interface {
    // contains filtered or unexported methods
}

tipo AcquireSilentOption

AcquireSilentOption viene implementato dalle opzioni per AcquireTokenSilent

type AcquireSilentOption interface {
    // contains filtered or unexported methods
}

tipo AuthCodeURLOption

AuthCodeURLOption viene implementato dalle opzioni per AuthCodeURL

type AuthCodeURLOption interface {
    // contains filtered or unexported methods
}

tipo AuthResult

AuthResult contiene i risultati di un'operazione di acquisizione di token. Per informazioni dettagliate, vedere https://aka.ms/msal-net-authenticationresult

type AuthResult = base.AuthResult

tipo Client

Il client è una rappresentazione del client di autenticazione per le applicazioni pubbliche, come definito nel documento del pacchetto. Per altre informazioni, vedere la documentazione sulle applicazioni client MSAL.

type Client struct {
    // contains filtered or unexported fields
}

func New

func New(clientID string, options ...Option) (Client, error)

New è il costruttore per Client.

account func (client)

func (pca Client) Accounts(ctx context.Context) ([]Account, error)

Gli account ottengono tutti gli account nella cache dei token. Se nella cache non sono presenti account, la sezione restituita è vuota.

func (client) AcquireTokenByAuthCode

func (pca Client) AcquireTokenByAuthCode(ctx context.Context, code string, redirectURI string, scopes []string, opts ...AcquireByAuthCodeOption) (AuthResult, error)

AcquireTokenByAuthCode è una richiesta per acquisire un token di sicurezza dall'autorità, usando un codice di autorizzazione. L'URI di reindirizzamento specificato deve essere lo stesso URI usato quando è stato richiesto il codice di autorizzazione.

Opzioni: [WithChallenge], [WithClaims], [WithTenantID]

func (Client) AcquireTokenByDeviceCode

func (pca Client) AcquireTokenByDeviceCode(ctx context.Context, scopes []string, opts ...AcquireByDeviceCodeOption) (DeviceCode, error)

AcquireTokenByDeviceCode acquisisce un token di sicurezza dall'autorità, acquisendo un codice del dispositivo e usandolo per acquisire il token. Gli utenti devono creare un'istanza acquireTokenDeviceCodeParameters e passarla.

Opzioni: [WithClaims], [WithTenantID]

func (Client) AcquireTokenByUsernamePassword

Avvertimento

Questa API è stata deprecata a causa di rischi per la sicurezza, usare un flusso più sicuro. Seguire questa guida per indicazioni sulla migrazione.

func (pca Client) AcquireTokenByUsernamePassword(ctx context.Context, scopes []string, username, password string, opts ...AcquireByUsernamePasswordOption) (AuthResult, error)

AcquireTokenByUsernamePassword acquisisce un token di sicurezza dall'autorità tramite l'autenticazione con nome utente/password. NOTA: questo flusso non è consigliato.

Opzioni: [WithClaims], [WithTenantID]

func (Client) AcquireTokenInteractive

func (pca Client) AcquireTokenInteractive(ctx context.Context, scopes []string, opts ...AcquireInteractiveOption) (AuthResult, error)

AcquireTokenInteractive acquisisce un token di sicurezza dall'autorità usando il Web browser predefinito per selezionare l'account. Vedere la documentazione sui flussi interattivi e non interattivi.

Opzioni: [WithDomainHint], [WithLoginHint], [WithRedirectURI], [WithTenantID]

func (Client) AcquireTokenSilent

func (pca Client) AcquireTokenSilent(ctx context.Context, scopes []string, opts ...AcquireSilentOption) (AuthResult, error)

AcquireTokenSilent acquisisce un token dalla cache o usando un token di aggiornamento.

Opzioni: [WithClaims], [WithSilentAccount], [WithTenantID]

func (Client) AuthCodeURL

func (pca Client) AuthCodeURL(ctx context.Context, clientID, redirectURI string, scopes []string, opts ...AuthCodeURLOption) (string, error)

AuthCodeURL crea un URL usato per acquisire un codice di autorizzazione.

Opzioni: [WithClaims], [WithDomainHint], [WithLoginHint], [WithTenantID]

func (Client) RemoveAccount

func (pca Client) RemoveAccount(ctx context.Context, account Account) error

RemoveAccount disconnette l'account e dimentica l'account dalla cache dei token.

digitare DeviceCode

DeviceCode fornisce i risultati del flusso di codice del dispositivo prima fase (contenente il codice) che devono essere immessi nel secondo dispositivo e fornisce un metodo per recuperare AuthenticationResult dopo che il codice è stato immesso e verificato.

type DeviceCode struct {
    // Result holds the information about the device code (such as the code).
    Result DeviceCodeResult
    // contains filtered or unexported fields
}

func (DeviceCode) AuthenticationResult

func (d DeviceCode) AuthenticationResult(ctx context.Context) (AuthResult, error)

AuthenticationResult recupera l'oggetto AuthenticationResult dopo che l'utente immette il codice nel secondo dispositivo. Fino a quando non si blocca fino a . Il contesto AcquireTokenByDeviceCode() viene annullato o il token scade.

digitare DeviceCodeResult

type DeviceCodeResult = accesstokens.DeviceCodeResult

opzione type

Option è un argomento facoltativo per il costruttore New.

type Option func(o *clientOptions)

func WithAuthority

func WithAuthority(authority string) Option

WithAuthority consente di impostare un'autorità personalizzata. Deve essere un URL HTTPS valido.

func WithCache

func WithCache(accessor cache.ExportReplace) Option

WithCache fornisce una funzione di accesso che legge e scrive i dati di autenticazione in una cache gestita esternamente.

func WithClientCapabilities

func WithClientCapabilities(capabilities []string) Option

WithClientCapabilities consente di configurare una o più funzionalità client, ad esempio "CP1"

func ConHTTPClient

func WithHTTPClient(httpClient ops.HTTPClient) Option

WithHTTPClient consente di impostare un client HTTP personalizzato.

func WithInstanceDiscovery

func WithInstanceDiscovery(enabled bool) Option

WithInstanceDiscovery impostato su false per disabilitare la convalida dell'autorità (per supportare scenari di cloud privato)