~bigbes/core-go

ref: 8e729e7539f47f682d74d11071ef5c86f89f0505 core-go/auth/middleware.go -rw-r--r-- 18.1 KiB
d3f7b91a — Drew DeVault 1 year, 6 months ago
webhooks: implement internal webhook users

AUTH_INTERNAL requests previously could not register webhooks. This
commit adds the necessary changes to allow for this.
6eae2199 — Drew DeVault 1 year, 7 months ago
auth: use config.IsInternalIP
e559510f — Drew DeVault 1 year, 9 months ago
auth: reduce scope of user_type
bdf079e6 — Conrad Hoffmann 1 year, 8 months ago
auth: grant scoped access to anon internal auth

Internal auth is granted access to everything, whereas anonymous
internal auth is pretty restricted. This is mostly to avoid accidentally
hitting resolvers that require a logged-in user, however. Given that all
anon internal use cases are hard-coded and tested, this seems like a
pretty low risk. Allowing this will have the huge benefit of making much
more information available to anon internal queries, which will unlock
removing a bunch of awkward work-arounds we put in place.

Note, however, that this is also a work-around. It saves us from adding
yet more work-arounds to the GQL schema, and in the meantime a redesign
of the schema (especially the directives) is being worked on.
64b8e741 — Drew DeVault 1 year, 9 months ago
auth/middleware: fix user_type on new users
50396a55 — Drew DeVault 1 year, 9 months ago
auth/middleware: convert user types to uppercase
0d6031be — Conrad Hoffmann 1 year, 11 months ago
server: use routing groups

Instead of hardcoding some exceptions in the auth middleware, use a
different routing group for routes that do not require auth. Makes the
auth middleware more generic and also removes a lot of unneccessary
middleware processing from routes that don't need it.

For now, the added group is not accessible from outside the module, but
if the need arises, this might be an option.
bd40a71a — Drew DeVault 2 years ago
auth: add auth.IPAddress

With support for X-Forwarded-For
88dff0ea — Simon Ser 2 years ago
auth/middleware: set WWW-Authenticate header field

See RFC 6750 section 3.
864816cf — Simon Ser 2 years ago
client: rename Execute to Do

583d0b1bcb08 ("client/graphql: handle GraphQL errors") changed
Execute behavior by wrapping the result into a struct with "data"
and "errors" fields. This is a breaking change, but it's hard to
spot when upgrading core-go because it won't cause a compilation
error.

Rename Execute to Do to break the build and force callers to update
accordingly.
23808bb0 — Simon Ser 2 years ago
auth: add RequireMiddleware

Same as Middleware, but requires auth for all requests. Will be
useful to drop hacks from pages.sr.ht.
53966da2 — Simon Ser 2 years ago
Drop gqlparser v1 dependency

Only use v2 throughout the repository.
d83af997 — Simon Ser 3 years ago
auth: make DecodeGrants return an error

We'll use this function to validate grants passed in via
builds.sr.ht manifests.
65b1657b — Simon Ser 3 years ago
auth: add AuthContext.Access

Same logic as server.Access, but lower-level. Useful to check for
a permission not covered by the GraphQL schema @access directives
(such as builds.sr.ht secrets).
6f6bb872 — Drew DeVault 3 years ago
auth: add /query/external/* to anonymous whitelist
89b1b489 — Simon Ser 3 years ago
auth/middleware: make auth scheme case-insensitive

According to RFC 7235 section 2.1, the auth scheme is
case-insensitive.
57524862 — Dennis Schön 3 years ago
auth: fix invalid json tag in InternalAuth
3e69641e — Adnan Maolood 4 years ago
auth: Use canonical user IDs

When adding users to the database, use the canonical user ID from
meta.sr.ht.
12000f49 — Drew DeVault 3 years ago
Revert "auth: Use canonical user IDs"

This reverts commit 6c1036e2705d93e1cb71476ac78499ae27f0d326.
6c1036e2 — Adnan Maolood 4 years ago
auth: Use canonical user IDs

When adding users to the database, use the canonical user ID from
meta.sr.ht.
Next