forgejo/vendor/github.com/yohcop/openid-go
2020-05-10 09:53:04 +01:00
..
.travis.yml github.com/yohcop/openid-go update to first tagged version (#11357) 2020-05-10 09:53:04 +01:00
discover.go Login via OpenID-2.0 (#618) 2017-03-17 15:16:08 +01:00
discovery_cache.go Login via OpenID-2.0 (#618) 2017-03-17 15:16:08 +01:00
getter.go Login via OpenID-2.0 (#618) 2017-03-17 15:16:08 +01:00
go.mod github.com/yohcop/openid-go update to first tagged version (#11357) 2020-05-10 09:53:04 +01:00
go.sum github.com/yohcop/openid-go update to first tagged version (#11357) 2020-05-10 09:53:04 +01:00
html_discovery.go Migrate to dep (#3972) 2018-05-21 15:34:20 +03:00
LICENSE Login via OpenID-2.0 (#618) 2017-03-17 15:16:08 +01:00
nonce_store.go github.com/yohcop/openid-go update to first tagged version (#11357) 2020-05-10 09:53:04 +01:00
normalizer.go github.com/yohcop/openid-go update to first tagged version (#11357) 2020-05-10 09:53:04 +01:00
openid.go Login via OpenID-2.0 (#618) 2017-03-17 15:16:08 +01:00
README.md github.com/yohcop/openid-go update to first tagged version (#11357) 2020-05-10 09:53:04 +01:00
redirect.go Login via OpenID-2.0 (#618) 2017-03-17 15:16:08 +01:00
verify.go Login via OpenID-2.0 (#618) 2017-03-17 15:16:08 +01:00
xrds.go Login via OpenID-2.0 (#618) 2017-03-17 15:16:08 +01:00
yadis_discovery.go Login via OpenID-2.0 (#618) 2017-03-17 15:16:08 +01:00

openid.go

This is a consumer (Relying party) implementation of OpenId 2.0, written in Go.

go get -u github.com/yohcop/openid-go

Build Status

Github

Be awesome! Feel free to clone and use according to the licence. If you make a useful change that can benefit others, send a pull request! This ensures that one version has all the good stuff and doesn't fall behind.

Code example

See _example/ for a simple webserver using the openID implementation. Also, read the comment about the NonceStore towards the top of that file. The example must be run for the openid-go directory, like so:

go run _example/server.go

App Engine

In order to use this on Google App Engine, you need to create an instance with a custom *http.Client provided by urlfetch.

oid := openid.NewOpenID(urlfetch.Client(appengine.NewContext(r)))
oid.RedirectURL(...)
oid.Verify(...)

License

Distributed under the Apache v2.0 license.

Libraries

Here is a set of libraries I found on GitHub that could make using this library easier depending on your backends. I haven't tested them, this list is for reference only, and in no particular order:

  • Gacnt/myopenid "A Yohcop-Openid Nonce/Discovery storage replacement", using MySQL.
  • Gacnt/sqlxid "An SQLX Adapter for Nonce / Discovery Cache store"
  • Gacnt/gormid "Use GORM (Go Object Relational Mapping) to store OpenID DiscoveryCache / Nonce in a database"
  • hectorj/mysqlOpenID "MySQL OpenID is a package to replace the in memory storage of discoveryCache and nonceStore."