forgejo-aneksajo/services/auth
Nick e56831510b git-annex: support downloading over HTTP (#6)
This makes HTTP symmetric with SSH clone URLs.

This gives us the fancy feature of _anonymous_ downloads,
so people can access datasets without having to set up an
account or manage ssh keys.

Previously, to access "open access" data shared this way,
users would need to:

  1. Create an account on gitea.example.com
  2. Create ssh keys
  3. Upload ssh keys (and make sure to find and upload the correct file)
  4. `git clone git@gitea.example.com:user/dataset.git`
  5. `cd dataset`
  6. `git annex get`

This cuts that down to just the last three steps:

  1. `git clone https://gitea.example.com/user/dataset.git`
  2. `cd dataset`
  3. `git annex get`

This is significantly simpler for downstream users, especially for those
unfamiliar with the command line.

Unfortunately there's no uploading. While git-annex supports uploading
over HTTP to S3 and some other special remotes, it seems to fail on a
_plain_ HTTP remote. See https://github.com/neuropoly/gitea/issues/7
and https://git-annex.branchable.com/forum/HTTP_uploads/#comment-ce28adc128fdefe4c4c49628174d9b92.

This is not a major loss since no one wants uploading to be anonymous anyway.

To support private repos, I had to hunt down and patch a secret extra security
corner that Gitea only applies to HTTP for some reason (services/auth/basic.go).

This was guided by https://git-annex.branchable.com/tips/setup_a_public_repository_on_a_web_site/

Fixes https://github.com/neuropoly/gitea/issues/3

Co-authored-by: Mathieu Guay-Paquet <mathieu.guaypaquet@polymtl.ca>
2024-04-18 16:55:53 +02:00
..
source Improve LDAP group config documentation (#21227) (#26921) 2023-09-08 08:10:08 +02:00
auth.go git-annex: support downloading over HTTP (#6) 2024-04-18 16:55:53 +02:00
auth_test.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
basic.go git-annex: support downloading over HTTP (#6) 2024-04-18 16:55:53 +02:00
group.go Fix the error message when the token is incorrect (#25701) (#25836) 2023-07-12 10:18:27 +00:00
httpsign.go refactor auth interface to return error when verify failure (#22119) 2022-12-28 13:53:28 +08:00
interface.go Improve template system and panic recovery (#24461) 2023-05-04 14:36:34 +08:00
middleware.go Decouple the different contexts from each other (#24786) 2023-05-21 09:50:53 +08:00
oauth2.go Fix the error message when the token is incorrect (#25701) (#25836) 2023-07-12 10:18:27 +00:00
reverseproxy.go Do not send "registration success email" for external auth sources (#24632) 2023-05-10 10:49:47 +00:00
session.go refactor auth interface to return error when verify failure (#22119) 2022-12-28 13:53:28 +08:00
signin.go Modify OAuth login ui and fix display name, iconurl related logic (#25030) (#25161) 2023-06-09 10:59:18 +00:00
source.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00
sspi_windows.go Fix SSPI auth panic (#25955) (#25969) 2023-07-24 07:58:56 +02:00
sync.go Implement FSFE REUSE for golang files (#21840) 2022-11-27 18:20:29 +00:00