nimwire/auth
This page is generated from the module’s exported API and ## documentation comments.
HTTP authorization hooks with safe bearer-token defaults.
McpAuthHeader
Section titled “McpAuthHeader”McpAuthHeader = object name*: string value*: stringMcpAuthorizationRequest
Section titled “McpAuthorizationRequest”McpAuthorizationRequest = object methodName*: string path*: string resource*: string headers*: seq[McpAuthHeader]McpAuthClaims
Section titled “McpAuthClaims”McpAuthClaims = object subject*: string issuer*: string audience*: seq[string] scopes*: seq[string] expiresAt*: int64 claims*: JsonNodeMcpBearerTokenVerifier
Section titled “McpBearerTokenVerifier”McpBearerTokenVerifier = proc (token, resource: string): McpAuthClaims {.closure.}McpAuthorizationMiddleware
Section titled “McpAuthorizationMiddleware”McpAuthorizationMiddleware = proc (request: McpAuthorizationRequest): McpAuthorizationResult {. closure.}McpAuthorizationResult
Section titled “McpAuthorizationResult”McpAuthorizationResult = object allowed*: bool principal*: McpPrincipal status*: int message*: string scopes*: seq[string]McpProtectedResourceMetadata
Section titled “McpProtectedResourceMetadata”McpProtectedResourceMetadata = object resource*: string authorizationServers*: seq[string] scopesSupported*: seq[string]McpAuthorizationConfig
Section titled “McpAuthorizationConfig”McpAuthorizationConfig = object enabled*: bool resource*: string authorizationServers*: seq[string] scopesSupported*: seq[string] requiredScopes*: seq[string] resourceMetadataUrl*: string verifier*: McpBearerTokenVerifier middleware*: McpAuthorizationMiddlewareMcpClientIdMetadata
Section titled “McpClientIdMetadata”McpClientIdMetadata = object clientId*: string clientName*: string redirectUris*: seq[string] extraFields*: JsonNodeProcedures
Section titled “Procedures”newMcpAuthClaims
Section titled “newMcpAuthClaims”proc newMcpAuthClaims(subject, issuer: string; audience, scopes: seq[string]; expiresAt: int64; claims: JsonNode = nil): McpAuthClaims {. raises: [McpError], tags: [], forbids: [].}Returns: McpAuthClaims.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
subject |
string |
|
issuer |
string |
|
audience |
seq[string] |
|
scopes |
seq[string] |
|
expiresAt |
int64 |
|
claims |
JsonNode |
nil |
newMcpAuthorizationConfig
Section titled “newMcpAuthorizationConfig”proc newMcpAuthorizationConfig(resource = ""; authorizationServers: seq[string] = @[]; scopesSupported: seq[string] = @[]; requiredScopes: seq[string] = @[]; resourceMetadataUrl = ""; verifier: McpBearerTokenVerifier = nil; middleware: McpAuthorizationMiddleware = nil; enabled = false): McpAuthorizationConfig {. raises: [McpError], tags: [], forbids: [].}Returns: McpAuthorizationConfig.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
resource |
inferred |
"" |
authorizationServers |
seq[string] |
@[] |
scopesSupported |
seq[string] |
@[] |
requiredScopes |
seq[string] |
@[] |
resourceMetadataUrl |
inferred |
"" |
verifier |
McpBearerTokenVerifier |
nil |
middleware |
McpAuthorizationMiddleware |
nil |
enabled |
inferred |
false |
newMcpAuthorizationRequest
Section titled “newMcpAuthorizationRequest”proc newMcpAuthorizationRequest(methodName, path, resource: string; headers: seq[McpAuthHeader] = @[]): McpAuthorizationRequest {. raises: [], tags: [], forbids: [].}Returns: McpAuthorizationRequest.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
methodName |
string |
|
path |
string |
|
resource |
string |
|
headers |
seq[McpAuthHeader] |
@[] |
extractBearerToken
Section titled “extractBearerToken”proc extractBearerToken(authorization: string): string {.raises: [], tags: [], forbids: [].}Returns: string.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
authorization |
string |
authorize
Section titled “authorize”proc authorize(config: McpAuthorizationConfig; request: McpAuthorizationRequest): McpAuthorizationResult {. raises: [Exception, Exception, McpError], tags: [RootEffect, TimeEffect], forbids: [].}Returns: McpAuthorizationResult.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
config |
McpAuthorizationConfig |
|
request |
McpAuthorizationRequest |
protectedResourceMetadata
Section titled “protectedResourceMetadata”proc protectedResourceMetadata(config: McpAuthorizationConfig): McpProtectedResourceMetadata {. raises: [McpError], tags: [], forbids: [].}Returns: McpProtectedResourceMetadata.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
config |
McpAuthorizationConfig |
toJson
Section titled “toJson”proc toJson(metadata: McpProtectedResourceMetadata): JsonNode {.raises: [], tags: [], forbids: [].}Returns: JsonNode.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
metadata |
McpProtectedResourceMetadata |
authorizationChallenge
Section titled “authorizationChallenge”proc authorizationChallenge(config: McpAuthorizationConfig; error = ""; scope = ""): string {.raises: [], tags: [], forbids: [].}Returns: string.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
config |
McpAuthorizationConfig |
|
error |
inferred |
"" |
scope |
inferred |
"" |
parseClientIdMetadata
Section titled “parseClientIdMetadata”proc parseClientIdMetadata(node: JsonNode): McpClientIdMetadata {. raises: [McpError, KeyError], tags: [], forbids: [].}Returns: McpClientIdMetadata.
Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
node |
JsonNode |
rejectTokenPassthrough
Section titled “rejectTokenPassthrough”proc rejectTokenPassthrough(authorization: string) {.raises: [McpError], tags: [], forbids: [].}Arguments
Section titled “Arguments”| Name | Type | Default |
|---|---|---|
authorization |
string |