forked from forgejo/forgejo
Update markbates/goth library (#3533)
Signed-off-by: Lauris Bukšis-Haberkorns <lauris@nix.lv>
This commit is contained in:
parent
6f751409b4
commit
7b297808ce
11 changed files with 284 additions and 160 deletions
97
vendor/github.com/markbates/goth/README.md
generated
vendored
97
vendor/github.com/markbates/goth/README.md
generated
vendored
|
@ -8,6 +8,10 @@ protocol providers, as long as they implement the `Provider` and `Session` inter
|
|||
|
||||
This package was inspired by [https://github.com/intridea/omniauth](https://github.com/intridea/omniauth).
|
||||
|
||||
## Goth Needs a New Maintainer
|
||||
|
||||
[https://blog.gobuffalo.io/goth-needs-a-new-maintainer-626cd47ca37b](https://blog.gobuffalo.io/goth-needs-a-new-maintainer-626cd47ca37b) - TL;DR: I, @markbates, won't be responding to any more issues, PRs, etc... for this package. A new maintainer needs to be found ASAP. Is this you?
|
||||
|
||||
## Installation
|
||||
|
||||
```text
|
||||
|
@ -18,6 +22,8 @@ $ go get github.com/markbates/goth
|
|||
|
||||
* Amazon
|
||||
* Auth0
|
||||
* Azure AD
|
||||
* Battle.net
|
||||
* Bitbucket
|
||||
* Box
|
||||
* Cloud Foundry
|
||||
|
@ -26,6 +32,7 @@ $ go get github.com/markbates/goth
|
|||
* Digital Ocean
|
||||
* Discord
|
||||
* Dropbox
|
||||
* Eve Online
|
||||
* Facebook
|
||||
* Fitbit
|
||||
* GitHub
|
||||
|
@ -38,6 +45,7 @@ $ go get github.com/markbates/goth
|
|||
* Lastfm
|
||||
* Linkedin
|
||||
* Meetup
|
||||
* MicrosoftOnline
|
||||
* OneDrive
|
||||
* OpenID Connect (auto discovery)
|
||||
* Paypal
|
||||
|
@ -50,7 +58,9 @@ $ go get github.com/markbates/goth
|
|||
* Twitch
|
||||
* Twitter
|
||||
* Uber
|
||||
* VK
|
||||
* Wepay
|
||||
* Xero
|
||||
* Yahoo
|
||||
* Yammer
|
||||
|
||||
|
@ -71,17 +81,51 @@ $ go get github.com/markbates/goth
|
|||
```text
|
||||
$ cd goth/examples
|
||||
$ go get -v
|
||||
$ go build
|
||||
$ go build
|
||||
$ ./examples
|
||||
```
|
||||
|
||||
Now open up your browser and go to [http://localhost:3000](http://localhost:3000) to see the example.
|
||||
|
||||
To actually use the different providers, please make sure you configure them given the system environments as defined in the examples/main.go file
|
||||
To actually use the different providers, please make sure you set environment variables. Example given in the examples/main.go file
|
||||
|
||||
## Security Notes
|
||||
|
||||
By default, gothic uses a `CookieStore` from the `gorilla/sessions` package to store session data.
|
||||
|
||||
As configured, this default store (`gothic.Store`) will generate cookies with `Options`:
|
||||
|
||||
```go
|
||||
&Options{
|
||||
Path: "/",
|
||||
Domain: "",
|
||||
MaxAge: 86400 * 30,
|
||||
HttpOnly: true,
|
||||
Secure: false,
|
||||
}
|
||||
```
|
||||
|
||||
To tailor these fields for your application, you can override the `gothic.Store` variable at startup.
|
||||
|
||||
The follow snippet show one way to do this:
|
||||
|
||||
```go
|
||||
key := "" // Replace with your SESSION_SECRET or similar
|
||||
maxAge := 86400 * 30 // 30 days
|
||||
isProd := false // Set to true when serving over https
|
||||
|
||||
store := sessions.NewCookieStore([]byte(key))
|
||||
store.MaxAge(maxAge)
|
||||
store.Options.Path = "/"
|
||||
store.Options.HttpOnly = true // HttpOnly should always be enabled
|
||||
store.Options.Secure = isProd
|
||||
|
||||
gothic.Store = store
|
||||
```
|
||||
|
||||
## Issues
|
||||
|
||||
Issues always stand a significantly better chance of getting fixed if the are accompanied by a
|
||||
Issues always stand a significantly better chance of getting fixed if they are accompanied by a
|
||||
pull request.
|
||||
|
||||
## Contributing
|
||||
|
@ -94,50 +138,3 @@ Would I love to see more providers? Certainly! Would you love to contribute one?
|
|||
4. Commit your changes (git commit -am 'Add some feature')
|
||||
5. Push to the branch (git push origin my-new-feature)
|
||||
6. Create new Pull Request
|
||||
|
||||
## Contributors
|
||||
|
||||
* Mark Bates
|
||||
* Tyler Bunnell
|
||||
* Corey McGrillis
|
||||
* willemvd
|
||||
* Rakesh Goyal
|
||||
* Andy Grunwald
|
||||
* Glenn Walker
|
||||
* Kevin Fitzpatrick
|
||||
* Ben Tranter
|
||||
* Sharad Ganapathy
|
||||
* Andrew Chilton
|
||||
* sharadgana
|
||||
* Aurorae
|
||||
* Craig P Jolicoeur
|
||||
* Zac Bergquist
|
||||
* Geoff Franks
|
||||
* Raphael Geronimi
|
||||
* Noah Shibley
|
||||
* lumost
|
||||
* oov
|
||||
* Felix Lamouroux
|
||||
* Rafael Quintela
|
||||
* Tyler
|
||||
* DenSm
|
||||
* Samy KACIMI
|
||||
* dante gray
|
||||
* Noah
|
||||
* Jacob Walker
|
||||
* Marin Martinic
|
||||
* Roy
|
||||
* Omni Adams
|
||||
* Sasa Brankovic
|
||||
* dkhamsing
|
||||
* Dante Swift
|
||||
* Attila Domokos
|
||||
* Albin Gilles
|
||||
* Syed Zubairuddin
|
||||
* Johnny Boursiquot
|
||||
* Jerome Touffe-Blin
|
||||
* bryanl
|
||||
* Masanobu YOSHIOKA
|
||||
* Jonathan Hall
|
||||
* HaiMing.Yin
|
||||
* Sairam Kunala
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue