Skip to content

Resource Owner Password Credentials

RFC 6749 §4.3 · package rfc6749/ropc

Implements the Resource Owner Password Credentials (ROPC) grant. See OAuth 2.0 Flows for when (and whether) to use this grant — it's intended for tightly-controlled, first-party clients only.

Construction

go
import "github.com/alkeyio/authkit/rfc6749/ropc"

flow, err := ropc.Must(
    ropc.NewConfig().
        SetClientManager(clientMgr).
        SetUserManager(userMgr).
        SetTokenManager(tokenMgr),
)

Required dependencies

SetterManager interfacePurpose
SetClientManagerClientManagerAuthenticate the requesting client.
SetUserManagerUserManagerVerify the submitted username/password against your user store.
SetTokenManagerTokenManagerIssue and persist access/refresh tokens.

See Models for the full interface definitions.

Registering with a server

go
srv := authkit.NewServer()
srv.RegisterGrant(flow)

See also

Released under the BSD-3-Clause License.