Module: Shakha

Defined in:
lib/shakha.rb,
lib/shakha/pkce.rb,
lib/shakha/config.rb,
lib/shakha/engine.rb,
lib/shakha/version.rb,
lib/shakha/pairwise.rb,
lib/shakha/auditable.rb,
lib/shakha/middleware.rb,
app/models/shakha/user.rb,
lib/shakha/jwt_handler.rb,
lib/shakha/rate_limiter.rb,
app/models/shakha/client.rb,
lib/shakha/error_handler.rb,
app/models/shakha/session.rb,
lib/shakha/config_validator.rb,
lib/shakha/controller_helpers.rb,
app/controllers/shakha/auth_controller.rb,
app/controllers/shakha/jwks_controller.rb,
lib/generators/shakha/install_generator.rb,
app/controllers/shakha/openid_controller.rb,
app/controllers/shakha/session_controller.rb,
app/controllers/shakha/application_controller.rb

Defined Under Namespace

Modules: Auditable, ConfigValidator, ControllerHelpers, ErrorHandler, PKCEMixin, Pairwise, RateLimiter Classes: ApplicationController, AuthController, Client, Config, ConfigurationError, Engine, GoogleOAuthError, InstallGenerator, JWTError, JwksController, JwtHandler, Middleware, OpenidController, PKCEError, Session, SessionController, User

Constant Summary collapse

VERSION =
"0.1.4"

Class Method Summary collapse

Class Method Details

.configObject



22
23
24
# File 'lib/shakha.rb', line 22

def config
  @config ||= Config.new
end

.derive_pairwise_sub(google_sub, client_id = nil) ⇒ Object



34
35
36
# File 'lib/shakha.rb', line 34

def derive_pairwise_sub(google_sub, client_id = nil)
  Pairwise.derive(google_sub, client_id || default_client_id)
end

.setup {|config| ... } ⇒ Object

Yields:



18
19
20
# File 'lib/shakha.rb', line 18

def setup
  yield(config)
end

.sign_token(payload, exp: 24.hours.from_now) ⇒ Object



30
31
32
# File 'lib/shakha.rb', line 30

def sign_token(payload, exp: 24.hours.from_now)
  JwtHandler.encode(payload, exp: exp)
end

.verify_token(id_token, audience: nil) ⇒ Object



26
27
28
# File 'lib/shakha.rb', line 26

def verify_token(id_token, audience: nil)
  JwtHandler.verify(id_token, audience: audience || default_audience)
end