mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
chore: improve fake IDP script (#11602)
* chore: testIDP using static defaults for easier reuse
This commit is contained in:
@@ -1,17 +0,0 @@
|
||||
# How to use
|
||||
|
||||
Start the idp service:
|
||||
|
||||
```bash
|
||||
$ go run main.go
|
||||
2024-01-10 16:48:01.415 [info] stdlib: 2024/01/10 10:48:01 IDP Issuer URL http://127.0.0.1:44517
|
||||
2024-01-10 16:48:01.415 [info] stdlib: 2024/01/10 10:48:01 Oauth Flags
|
||||
2024-01-10 16:48:01.415 [info] stdlib: 2024/01/10 10:48:01 --external-auth-providers='[{"type":"fake","client_id":"f2df566b-a1c9-407a-8b75-480db45c6476","client_secret":"55aca4e3-7b94-44b6-9f45-ecb5e81c560d","auth_url":"http://127.0.0.1:44517/oauth2/authorize","token_url":"http://127.0.0.1:44517/oauth2/token","validate_url":"http://127.0.0.1:44517/oauth2/userinfo","scopes":["openid","email","profile"]}]'
|
||||
2024-01-10 16:48:01.415 [info] stdlib: 2024/01/10 10:48:01 Press Ctrl+C to exit
|
||||
```
|
||||
|
||||
Then use the flag into your coderd instance:
|
||||
|
||||
```bash
|
||||
develop.sh -- --external-auth-providers='[{"type":"fake","client_id":"f2df566b-a1c9-407a-8b75-480db45c6476","client_secret":"55aca4e3-7b94-44b6-9f45-ecb5e81c560d","auth_url":"http://127.0.0.1:44517/oauth2/authorize","token_url":"http://127.0.0.1:44517/oauth2/token","validate_url":"http://127.0.0.1:44517/oauth2/userinfo","scopes":["openid","email","profile"]}]'
|
||||
```
|
||||
@@ -1,58 +0,0 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"flag"
|
||||
"log"
|
||||
"os"
|
||||
"os/signal"
|
||||
"testing"
|
||||
|
||||
"github.com/golang-jwt/jwt/v4"
|
||||
|
||||
"github.com/coder/coder/v2/coderd/coderdtest/oidctest"
|
||||
)
|
||||
|
||||
func main() {
|
||||
testing.Init()
|
||||
_ = flag.Set("test.timeout", "0")
|
||||
|
||||
flag.Parse()
|
||||
|
||||
// This is just a way to run tests outside go test
|
||||
testing.Main(func(pat, str string) (bool, error) {
|
||||
return true, nil
|
||||
}, []testing.InternalTest{
|
||||
{
|
||||
Name: "Run Fake IDP",
|
||||
F: RunIDP(),
|
||||
},
|
||||
}, nil, nil)
|
||||
}
|
||||
|
||||
// RunIDP needs the testing.T because our oidctest package requires the
|
||||
// testing.T.
|
||||
func RunIDP() func(t *testing.T) {
|
||||
return func(t *testing.T) {
|
||||
idp := oidctest.NewFakeIDP(t,
|
||||
oidctest.WithServing(),
|
||||
oidctest.WithStaticUserInfo(jwt.MapClaims{}),
|
||||
oidctest.WithDefaultIDClaims(jwt.MapClaims{}),
|
||||
)
|
||||
id, sec := idp.AppCredentials()
|
||||
prov := idp.WellknownConfig()
|
||||
|
||||
log.Println("IDP Issuer URL", idp.IssuerURL())
|
||||
log.Println("Coderd Flags")
|
||||
log.Printf(`--external-auth-providers='[{"type":"fake","client_id":"%s","client_secret":"%s","auth_url":"%s","token_url":"%s","validate_url":"%s","scopes":["openid","email","profile"]}]'`,
|
||||
id, sec, prov.AuthURL, prov.TokenURL, prov.UserInfoURL,
|
||||
)
|
||||
|
||||
log.Println("Press Ctrl+C to exit")
|
||||
c := make(chan os.Signal, 1)
|
||||
signal.Notify(c, os.Interrupt)
|
||||
|
||||
// Block until ctl+c
|
||||
<-c
|
||||
log.Println("Closing")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user