luci: go.chromium.org/luci/auth/integration/firebase Index | Files

package firebase

import "go.chromium.org/luci/auth/integration/firebase"

Package firebase implements an auth server that allows firebase-tools to use an exposed OAuth2 TokenSource for auth. See firebase auth documentation at https://github.com/firebase/firebase-tools and auth implementation https://github.com/firebase/firebase-tools/blob/9422490bd87e934a097a110f77eddac799d965a4/lib/auth.js

Index

Package Files

firebase.go

type Server Uses

type Server struct {
    // Source is used to obtain OAuth2 tokens.
    Source oauth2.TokenSource
    // Port is a local TCP port to bind to or 0 to allow the OS to pick one.
    Port int
    // contains filtered or unexported fields
}

Server runs a local server that handles requests to token_uri.

func (*Server) Start Uses

func (s *Server) Start(ctx context.Context) (string, error)

Start launches background goroutine with the serving loop.

The provided context is used as base context for request handlers and for logging. The server must be eventually stopped with Stop().

Returns the auth URL for getting a new token.

func (*Server) Stop Uses

func (s *Server) Stop(ctx context.Context) error

Stop closes the listening socket, notifies pending requests to abort and stops the internal serving goroutine.

Safe to call multiple times. Once stopped, the server cannot be started again (make a new instance of Server instead).

Uses the given context for the deadline when waiting for the serving loop to stop.

Package firebase imports 14 packages (graph) and is imported by 1 packages. Updated 2018-10-23. Refresh now. Tools for package owners.