Directories ¶
Path | Synopsis |
---|---|
cmd
|
|
add-realm
Adds a new realm.
|
Adds a new realm. |
add-sms-config
Adds an SMS configuration to a realm.
|
Adds an SMS configuration to a realm. |
add-users
Adds a user or enables that user if they record already exists
|
Adds a user or enables that user if they record already exists |
adminapi
This server implements the device facing APIs for exchaning verification codes for tokens and tokens for certificates.
|
This server implements the device facing APIs for exchaning verification codes for tokens and tokens for certificates. |
apiserver
This server implements the device facing APIs for exchaning verification codes for tokens and tokens for certificates.
|
This server implements the device facing APIs for exchaning verification codes for tokens and tokens for certificates. |
cleanup
This server implements the database cleanup.
|
This server implements the database cleanup. |
get-certificate
Exchanges a verification token for a verification certificate (step 2).
|
Exchanges a verification token for a verification certificate (step 2). |
get-code
Exchanges a verification code for a verification token.
|
Exchanges a verification code for a verification token. |
get-token
Exchanges a verification code for a verification token.
|
Exchanges a verification code for a verification token. |
migrate
A binary for running database migrations
|
A binary for running database migrations |
docs
|
|
images/architecture
Module
|
|
pkg
|
|
api
Package api defines the JSON-RPC API between the browser and the server as well as between mobile devices and the server.
|
Package api defines the JSON-RPC API between the browser and the server as well as between mobile devices and the server. |
clients
Package clients provides functions for invoking the APIs of the verification server
|
Package clients provides functions for invoking the APIs of the verification server |
config
Package config defines the environment baased configuration for this project.
|
Package config defines the environment baased configuration for this project. |
controller
Package controller defines common utilities used by web and API controllers.
|
Package controller defines common utilities used by web and API controllers. |
controller/apikey
Package apikey contains web controllers for listing and adding API Keys.
|
Package apikey contains web controllers for listing and adding API Keys. |
controller/certapi
Package certapi implements the token + TEK verification API.
|
Package certapi implements the token + TEK verification API. |
controller/cleanup
Package cleanup implements periodic data deletion.
|
Package cleanup implements periodic data deletion. |
controller/flash
Package flash implements flash messages.
|
Package flash implements flash messages. |
controller/home
Package home defines a web controller for the home page of the verification server.
|
Package home defines a web controller for the home page of the verification server. |
controller/index
Package index defines the controller for the index/landing page.
|
Package index defines the controller for the index/landing page. |
controller/issueapi
Package issueapi implements the API handler for taking a code requst, assigning an OTP, saving it to the database and returning the result.
|
Package issueapi implements the API handler for taking a code requst, assigning an OTP, saving it to the database and returning the result. |
controller/middleware
Package middleware contains application specific gin middleware functions.
|
Package middleware contains application specific gin middleware functions. |
controller/realm
Package realm contains web controllers for selecting the effective realm.
|
Package realm contains web controllers for selecting the effective realm. |
controller/realmadmin
Package realmadmin contains web controllers for changing realm settings.
|
Package realmadmin contains web controllers for changing realm settings. |
controller/session
Package session contains the controller that exchanges firebase auth tokens for server side session tokens.
|
Package session contains the controller that exchanges firebase auth tokens for server side session tokens. |
controller/user
Package user contains web controllers for listing and adding users.
|
Package user contains web controllers for listing and adding users. |
controller/verifyapi
Package verifyapi implements the exchange of the verification code (short term token) for a long term token that can be used to get a verification certification to send to the key server.
|
Package verifyapi implements the exchange of the verification code (short term token) for a long term token that can be used to get a verification certification to send to the key server. |
database
Package database manages database connections and ORM integration.
|
Package database manages database connections and ORM integration. |
gcpkms
Package gcpkms implements cryptographic signing using Google Cloud Key Management Service.
|
Package gcpkms implements cryptographic signing using Google Cloud Key Management Service. |
jsonclient
Package jsonclient is a simple JSON over HTTP Client.
|
Package jsonclient is a simple JSON over HTTP Client. |
jwthelper
Package jwthelper implements some common methods on top of the JWT library.
|
Package jwthelper implements some common methods on top of the JWT library. |
logging
Package logging sets up and configures logging.
|
Package logging sets up and configures logging. |
otp
Package otp contains the implementation of the issuance of verification codes.
|
Package otp contains the implementation of the issuance of verification codes. |
ratelimit
Package ratelimit defines common rate limiting logic and config.
|
Package ratelimit defines common rate limiting logic and config. |
render
Package render defines rendering functionality.
|
Package render defines rendering functionality. |
signer
Package signer defines the interface for signing.
|
Package signer defines the interface for signing. |
sms
Package sms defines interfaces for sending SMS text messages.
|
Package sms defines interfaces for sending SMS text messages. |
tools
|
|
e2e-test
Command line test that exercises the verification and key server, simulating a mobile device uploading TEKs.
|
Command line test that exercises the verification and key server, simulating a mobile device uploading TEKs. |
gen-secret
Small uiliity to generate random bytes and store them as secrets in Google Secret Manager.
|
Small uiliity to generate random bytes and store them as secrets in Google Secret Manager. |
seed
Package main provides a utility that bootstraps the initial database with users and realms.
|
Package main provides a utility that bootstraps the initial database with users and realms. |
Click to show internal directories.
Click to hide internal directories.