Prad Nukala 1fbb8568c0
Some checks failed
go continuous benchmark / Run Go continuous benchmark (push) Has been cancelled
Go Test / ubuntu (go 1.22.x) (push) Has been cancelled
Go Test / ubuntu (go 1.23.x) (push) Has been cancelled
build(config): bump go-varint dependency to v0.1.0
2026-01-08 15:48:44 -05:00
2024-11-12 16:58:17 +01:00
2024-10-24 14:46:01 +02:00

This is a go library to help the next generation of web and decentralized applications make use of UCANs in their authorization flows.

User Controlled Authorization Networks (UCANs) are a way of doing authorization where users are fully in control. OAuth is designed for a centralized world, UCAN is the distributed user controlled version.

Resources

Specifications

The UCAN specification is separated in multiple sub-spec:

Not implemented yet:

Talks

Status

go-ucan currently support the required parts of the UCAN specification: the main specification, delegation and invocation. It leverages the sibling project go-did-it for easy and extensible DID support.

Besides that, go-ucan also includes:

  • support for encrypted values in token's metadata

Getting Help

For usage questions, usecases, or issues reach out to us in our go-ucan Discord channel.

We would be happy to try to answer your question or try opening a new issue on Github.

UCAN Gopher

Artwork by Bruno Monts. Thank you Renee French for creating the Go Gopher

License

This project is licensed under the dual license Apache 2.0 OR MIT.

Description
User-Controlled Authorization Network (UCAN) tokens in go
Readme 2 MiB
Languages
Go 100%