Auth Provider (#1309)

* auth provider mock interface

* Auth Provider Options

* Implement API Server Auth Package

* Add weh utils

* Add Login URL

* Auth Provider Options

* Add auth provider scope and setting token in cookie

* Remove auth_login_url flag

Co-authored-by: Asim Aslam <asim@aslam.me>
Co-authored-by: Ben Toogood <ben@micro.mu>
This commit is contained in:
ben-toogood
2020-03-07 11:06:57 +00:00
committed by GitHub
parent 8ee5607254
commit 9a7a65f05e
10 changed files with 350 additions and 1 deletions

View File

@@ -1,5 +1,7 @@
package auth
import "github.com/micro/go-micro/v2/auth/provider"
type Options struct {
// Token is an auth token
Token string
@@ -9,6 +11,10 @@ type Options struct {
PrivateKey string
// Endpoints to exclude
Exclude []string
// Provider is an auth provider
Provider provider.Provider
// LoginURL is the relative url path where a user can login
LoginURL string
}
type Option func(o *Options)
@@ -41,6 +47,20 @@ func Token(t string) Option {
}
}
// Provider set the auth provider
func Provider(p provider.Provider) Option {
return func(o *Options) {
o.Provider = p
}
}
// LoginURL sets the auth LoginURL
func LoginURL(url string) Option {
return func(o *Options) {
o.LoginURL = url
}
}
type GenerateOptions struct {
// Metadata associated with the account
Metadata map[string]string