greenpau / caddy-security

🔐 Authentication, Authorization, and Accounting (AAA) App and Plugin for Caddy v2. 💎 Implements Form-Based, Basic, Local, LDAP, OpenID Connect, OAuth 2.0 (Github, Google, Facebook, Okta, etc.), SAML Authentication. MFA/2FA with App Authenticators and Yubico. 💎 Authorization with JWT/PASETO tokens. 🔐
https://authcrunch.com/
Apache License 2.0
1.42k stars 70 forks source link

question: What is the purpose of the SSH & GPG keys, and the Connected Accounts areas in settings #260

Closed jinnko closed 1 year ago

jinnko commented 1 year ago

Having published both SSH and GPG keys to my localdb I can't see how these can be used. There's no mention in the docs and I couldn't find much in the code.

Can you give some examples of how these can be used please?

I also can't see how an account can be connected into the Connected Accounts area.

greenpau commented 1 year ago

@jinnko, I use them in my projects. For example, compile a list of public SSH keys for server access. GPG keys are used for the encryption of files sent between users. These capabilities are not a part of the portal, but they are there for that reason.

jinnko commented 1 year ago

@greenpau - one more question: is there an endpoint that exposes these keys publicly or privately, particularly the SSH keys? (I'm already using GnuPG WKD for GPG)

greenpau commented 1 year ago

@jinnko , there is no endpoint at the moment. It probably deserves one.

The reason it is not there is that I can read from db file itself.

my plans include adding different database types backed by cloud based KV services, e.g. dynamodb, etcd, etc

greenpau commented 1 year ago

I already started the process, but my work life made it difficult to contribute

https://github.com/greenpau/go-authcrunch-ids-dynamodb

jinnko commented 1 year ago

I already started the process, but my work life made it difficult to contribute

https://github.com/greenpau/go-authcrunch-ids-dynamodb

Cool - I know the feeling.

I'll try to make some time myself to raise a PR against the docs to include the info shared in this issue.

there is no endpoint at the moment. It probably deserves one.

Have you considered an implementation to expose SSH keys similar to Github/Gitlab? For example SSH keys are exposed publicly at github.com/username.keys and similarly on gitlab.com/username.keys. If you follow the pattern you could expose the user keys on the authentication host.

For GPG the WKD standard has been good enough for me so I don't have another suggestion there.

Just some ideas.

Thanks for answering my questions and thanks for putting together this awesome project!