Skip to content
Permalink
Browse files

add an IndieAuth authorization endpoint

This change implements an IndieAuth¹ server and adds it to home.
It enables Dmitri Shuralyov to sign in to other websites that
support the IndieAuth protocol via my own authorization endpoint.

This can work in a situation where github.com is down or otherwise
unavailable. It also gives me more control over whether to proceed
with signing in to some website or not (e.g., for now, the consent
screen is always shown on each sign in, rather than just the first
time).

¹ https://indieauth.spec.indieweb.org/

Updates #34.
  • Loading branch information
dmitshur committed Dec 22, 2019
1 parent 7870c85 commit 75d6ace272f1addb0a14b71da9a62169850ae222
Showing with 430 additions and 97 deletions.
  1. +16 −15 README.md
  2. +233 −81 auth.go
  3. +5 −1 index.go
  4. +171 −0 indieauth/indieauth.go
  5. +5 −0 main.go
@@ -15,21 +15,22 @@ go get -u github.com/shurcooL/home
Directories
-----------

| Path | Synopsis |
|---------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------|
| [assets](https://godoc.org/github.com/shurcooL/home/assets) | Package assets contains assets for home. |
| [cmd/githook/pre-receive](https://godoc.org/github.com/shurcooL/home/cmd/githook/pre-receive) | pre-receive is a pre-receive git hook for use with home's git server. |
| [component](https://godoc.org/github.com/shurcooL/home/component) | Package component contains individual components that can render themselves as HTML. |
| [http](https://godoc.org/github.com/shurcooL/home/http) | Package http contains service implementations over HTTP. |
| [httphandler](https://godoc.org/github.com/shurcooL/home/httphandler) | Package httphandler contains API handlers used by home. |
| [httputil](https://godoc.org/github.com/shurcooL/home/httputil) | Package httputil is a custom HTTP framework created specifically for home. |
| [internal/code](https://godoc.org/github.com/shurcooL/home/internal/code) | Package code implements a Go code service backed by a repository store. |
| [internal/mod](https://godoc.org/github.com/shurcooL/home/internal/mod) | Package mod exposes select functionality related to module mechanics. |
| [internal/page/blog](https://godoc.org/github.com/shurcooL/home/internal/page/blog) | Package blog contains functionality for rendering /blog page. |
| [internal/page/idiomaticgo](https://godoc.org/github.com/shurcooL/home/internal/page/idiomaticgo) | Package idiomaticgo contains functionality for rendering /idiomatic-go page. |
| [internal/page/resume](https://godoc.org/github.com/shurcooL/home/internal/page/resume) | Package resume contains functionality for rendering /resume page. |
| [internal/route](https://godoc.org/github.com/shurcooL/home/internal/route) | Package route specifies some route paths used by home. |
| [presentdata](https://godoc.org/github.com/shurcooL/home/presentdata) | Package presentdata contains static data for present format. |
| Path | Synopsis |
|---------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|
| [assets](https://godoc.org/github.com/shurcooL/home/assets) | Package assets contains assets for home. |
| [cmd/githook/pre-receive](https://godoc.org/github.com/shurcooL/home/cmd/githook/pre-receive) | pre-receive is a pre-receive git hook for use with home's git server. |
| [component](https://godoc.org/github.com/shurcooL/home/component) | Package component contains individual components that can render themselves as HTML. |
| [http](https://godoc.org/github.com/shurcooL/home/http) | Package http contains service implementations over HTTP. |
| [httphandler](https://godoc.org/github.com/shurcooL/home/httphandler) | Package httphandler contains API handlers used by home. |
| [httputil](https://godoc.org/github.com/shurcooL/home/httputil) | Package httputil is a custom HTTP framework created specifically for home. |
| [indieauth](https://godoc.org/github.com/shurcooL/home/indieauth) | Package indieauth implements building blocks for the IndieAuth specification (https://indieauth.spec.indieweb.org/). |
| [internal/code](https://godoc.org/github.com/shurcooL/home/internal/code) | Package code implements a Go code service backed by a repository store. |
| [internal/mod](https://godoc.org/github.com/shurcooL/home/internal/mod) | Package mod exposes select functionality related to module mechanics. |
| [internal/page/blog](https://godoc.org/github.com/shurcooL/home/internal/page/blog) | Package blog contains functionality for rendering /blog page. |
| [internal/page/idiomaticgo](https://godoc.org/github.com/shurcooL/home/internal/page/idiomaticgo) | Package idiomaticgo contains functionality for rendering /idiomatic-go page. |
| [internal/page/resume](https://godoc.org/github.com/shurcooL/home/internal/page/resume) | Package resume contains functionality for rendering /resume page. |
| [internal/route](https://godoc.org/github.com/shurcooL/home/internal/route) | Package route specifies some route paths used by home. |
| [presentdata](https://godoc.org/github.com/shurcooL/home/presentdata) | Package presentdata contains static data for present format. |

License
-------

0 comments on commit 75d6ace

Please sign in to comment.
You can’t perform that action at this time.