in_pub library

Classes

App
AuthConfig
Everything the auth layer needs to run, assembled from command line flags and environment variables in bin/in_pub.dart.
AuthenticatedUser
The identity of a person, as the provider currently describes them.
AuthService
Assembles the auth layer and exposes the two things the server needs from it: a gate to put in front of every route, and the handler for /auth/.
AuthStore
Persistence for users, sessions and access tokens.
DocStore
Generates and caches dartdoc API documentation for package versions on demand.
FileStore
GoogleCredentialResolver
Checks the original Google credential — the one unpub_auth obtains, and the only scheme a server running without --auth has.
IdentityProvider
The parts of an OpenID Connect provider the auth layer depends on.
IssuedToken
A freshly issued token. value is the only time the secret exists in a readable form; only its hash is kept.
MetaStore
MongoAuthStore
Mongo-backed AuthStore, living in the same database as the package metadata so a deployment still has exactly one datastore to run.
MongoStore
OidcTokens
Tokens as returned by the provider's token endpoint.
PackageStore
StoredSession
One browser session.
StoredToken
A bearer token for the pub client.
StoredUser
A user as this server remembers them between requests.
TokenResolution
The outcome of examining a bearer token.
TokenService
Issues and checks the bearer tokens the pub client uses.
UnpubPackage
UnpubQueryResult
UnpubVersion

Enums

DocStatus
Generation state of a package version's API documentation.
TokenKind
What a token stands for.
UserStatus
Why a user is currently denied access.

Constants

authOnlyRoutes → const Set<String>
Client-side routes that only mean anything once --auth is on.
authSessionCollection → const String
authTokenCollection → const String
authUserCollection → const String
publishHandshakePaths → const Set<String>
The three routes dart pub publish walks through, in order: ask for an upload url, POST the archive, finish.

Properties

packageCollection String
final
statsCollection String
final

Functions

identity(DateTime x) DateTime
looksLikeEmailAddress(String value) bool
Enough of a check to catch a name typed where an address belongs.
normalizeAddress(String email) String
How this server decides two email addresses are the same one.
storedAddressPattern(String email) String
The pattern that matches a stored address equal to email, for the two queries that cannot go through a folded key.

Exceptions / Errors

DocGenerationException
Thrown internally when doc generation fails; message is safe to show to the user (the full tool output is written to stderr).
IdentityRevokedException
Raised when the provider positively says a grant is no longer good — invalid_grant from the token endpoint, or a 401/403 from userinfo.
IdentityUnavailableException
Raised when the provider could not be reached or answered with a server error. Callers retry rather than revoke.
TokenIssueRefused
Raised when a token may not be issued for the identity it would carry.