MCPcopy Index your code
hub / github.com/canonical/authd

github.com/canonical/authd @v0.6.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.6.4 ↗ · + Follow
2,973 symbols 10,579 edges 351 files 1,261 documented · 42%

Browse by type

Functions 2,570 Types & classes 403
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

authd: an authentication daemon for cloud identity providers

Code quality License Code coverage Go Report Card Reference documentation

Documentation Status

authd is an authentication daemon for cloud-based identity providers. It helps ensure the secure management of identity and access for Ubuntu machines anywhere in the world, on desktop and the server. authd's modular design makes it a versatile authentication service that can integrate with multiple identity providers. MS Entra ID and Google Cloud's Identity and Access Management are currently supported and several other identity providers are under active development.

Documentation

To find out more about using authd, refer to the official authd documentation. If you are on an edge release then you can also read the edge version of the documentation, which may include features not yet available in the stable release.

The documentation includes how-to guides on installing and configuring authd, in addition to information about authd architecture and troubleshooting.

Brokers

authd uses brokers to interface with cloud identity providers through a DBus API.

Currently MS Entra ID and Google IAM are supported as identity providers. They allow you to authenticate using MFA and the device authentication flow.

For development purposes, authd also provides an example broker to help you develop your own.

Get involved

This is an open source project and we warmly welcome community contributions, suggestions, and constructive feedback. If you're interested in contributing, please take a look at our contribution guidelines first.

When reporting an issue you can choose from several templates:

  • To report an issue, please file a bug report against our repository, using the report an issue template.
  • For suggestions and constructive feedback, report a feature request bug report, using the request a feature template.

Get in touch

We're friendly! You can find our community forum at https://discourse.ubuntu.com where we discuss feature plans, development news, issues, updates and troubleshooting.

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Method 1,301
Function 1,269
Struct 310
Interface 27
TypeAlias 26
FuncType 20
Class 19
Enum 1

Languages

Go95%
Python2%
C2%
Rust1%
C++1%
TypeScript1%

Modules by API surface

internal/proto/authd/authd.pb.go291 symbols
pam/internal/gdm/gdm.pb.go247 symbols
internal/proto/authd/authd_grpc.pb.go112 symbols
pam/internal/adapter/nativemodel.go44 symbols
pam/internal/pam_test/pam-client-dummy.go43 symbols
authd-oidc-brokers/internal/broker/broker.go38 symbols
pam/internal/adapter/authentication.go36 symbols
internal/users/manager.go35 symbols
pam/internal/pam_test/module-transaction-dummy.go33 symbols
internal/users/db/db_test.go31 symbols
pam/internal/adapter/model.go29 symbols
e2e-tests/resources/authd/browser_window.py29 symbols

For agents

$ claude mcp add authd \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page