remove pointers confusion from providers
This commit is contained in:
@@ -54,7 +54,7 @@ func (u userData) value(key string) string {
|
||||
}
|
||||
|
||||
// newProvider makes auth for given provider
|
||||
func initProvider(p Params, provider *Provider) Provider {
|
||||
func initProvider(p Params, provider Provider) Provider {
|
||||
log.Printf("[INFO] create %s auth, id=%s, redir: %s", provider.Name, provider.Cid, provider.RedirectURL)
|
||||
provider.Params = p
|
||||
conf := oauth2.Config{
|
||||
@@ -66,7 +66,7 @@ func initProvider(p Params, provider *Provider) Provider {
|
||||
}
|
||||
|
||||
provider.conf = &conf
|
||||
return *provider
|
||||
return provider
|
||||
}
|
||||
|
||||
// Routes returns auth routes for given provider
|
||||
|
||||
@@ -30,7 +30,7 @@ func TestLogin(t *testing.T) {
|
||||
require.Nil(t, err)
|
||||
client := &http.Client{Jar: jar, Timeout: 5 * time.Second}
|
||||
resp, err := client.Get("http://localhost:8981/login")
|
||||
assert.Nil(t, err)
|
||||
require.Nil(t, err)
|
||||
assert.Equal(t, 200, resp.StatusCode)
|
||||
body, err := ioutil.ReadAll(resp.Body)
|
||||
assert.Nil(t, err)
|
||||
@@ -92,7 +92,7 @@ func TestLogout(t *testing.T) {
|
||||
func TestInitProvider(t *testing.T) {
|
||||
params := Params{RemarkURL: "url", SecretKey: "123456", Cid: "cid", Csecret: "csecret"}
|
||||
provider := Provider{Name: "test", RedirectURL: "redir"}
|
||||
res := initProvider(params, &provider)
|
||||
res := initProvider(params, provider)
|
||||
assert.Equal(t, "cid", res.conf.ClientID)
|
||||
assert.Equal(t, "csecret", res.conf.ClientSecret)
|
||||
assert.Equal(t, "redir", res.RedirectURL)
|
||||
@@ -100,9 +100,9 @@ func TestInitProvider(t *testing.T) {
|
||||
assert.Equal(t, "test", res.Name)
|
||||
}
|
||||
|
||||
func mockProvider(t *testing.T, loginPort, authPort int) (provider *Provider, ts *http.Server, oauth *http.Server) {
|
||||
func mockProvider(t *testing.T, loginPort, authPort int) (*Provider, *http.Server, *http.Server) {
|
||||
|
||||
provider = &Provider{
|
||||
provider := Provider{
|
||||
Name: "mock",
|
||||
Endpoint: oauth2.Endpoint{
|
||||
AuthURL: fmt.Sprintf("http://localhost:%d/login/oauth/authorize", authPort),
|
||||
@@ -122,11 +122,11 @@ func mockProvider(t *testing.T, loginPort, authPort int) (provider *Provider, ts
|
||||
}
|
||||
params := Params{RemarkURL: "url", SecretKey: "123456", Cid: "cid", Csecret: "csecret",
|
||||
JwtService: NewJWT("12345", false, time.Hour), Admins: []string{""}}
|
||||
initProvider(params, provider)
|
||||
provider = initProvider(params, provider)
|
||||
|
||||
ts = &http.Server{Addr: fmt.Sprintf(":%d", loginPort), Handler: provider.Routes()}
|
||||
ts := &http.Server{Addr: fmt.Sprintf(":%d", loginPort), Handler: provider.Routes()}
|
||||
|
||||
oauth = &http.Server{
|
||||
oauth := &http.Server{
|
||||
Addr: fmt.Sprintf(":%d", authPort),
|
||||
Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
log.Printf("[MOCK OAUTH] request %s %s %+v", r.Method, r.URL, r.Header)
|
||||
@@ -166,5 +166,5 @@ func mockProvider(t *testing.T, loginPort, authPort int) (provider *Provider, ts
|
||||
go ts.ListenAndServe()
|
||||
|
||||
time.Sleep(time.Millisecond * 100) // let the start
|
||||
return provider, ts, oauth
|
||||
return &provider, ts, oauth
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ import (
|
||||
|
||||
// NewGoogle makes google oauth2 provider
|
||||
func NewGoogle(p Params) Provider {
|
||||
return initProvider(p, &Provider{
|
||||
return initProvider(p, Provider{
|
||||
Name: "google",
|
||||
Endpoint: google.Endpoint,
|
||||
RedirectURL: p.RemarkURL + "/auth/google/callback",
|
||||
@@ -37,7 +37,7 @@ func NewGoogle(p Params) Provider {
|
||||
|
||||
// NewGithub makes github oauth2 provider
|
||||
func NewGithub(p Params) Provider {
|
||||
return initProvider(p, &Provider{
|
||||
return initProvider(p, Provider{
|
||||
Name: "github",
|
||||
Endpoint: github.Endpoint,
|
||||
RedirectURL: p.RemarkURL + "/auth/github/callback",
|
||||
@@ -75,7 +75,7 @@ func NewFacebook(p Params) Provider {
|
||||
} `json:"picture"`
|
||||
}
|
||||
|
||||
return initProvider(p, &Provider{
|
||||
return initProvider(p, Provider{
|
||||
Name: "facebook",
|
||||
Endpoint: facebook.Endpoint,
|
||||
RedirectURL: p.RemarkURL + "/auth/facebook/callback",
|
||||
@@ -101,7 +101,7 @@ func NewFacebook(p Params) Provider {
|
||||
|
||||
// NewDisqus makes disqus oauth2 provider. TODO: WIP - seems to need client_id param
|
||||
func NewDisqus(p Params) Provider {
|
||||
return initProvider(p, &Provider{
|
||||
return initProvider(p, Provider{
|
||||
Name: "disqus",
|
||||
Endpoint: oauth2.Endpoint{
|
||||
AuthURL: "https://disqus.com/api/oauth/2.0/authorize/",
|
||||
|
||||
Reference in New Issue
Block a user