Merge branch 'next' into main-next
prepare the merge of next into main by resolving merge conflicts.
This commit is contained in:
commit
0476b5946e
122 changed files with 8195 additions and 2858 deletions
|
@ -11,9 +11,9 @@ import (
|
|||
"github.com/google/uuid"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
"github.com/zitadel/oidc/pkg/client/rp"
|
||||
httphelper "github.com/zitadel/oidc/pkg/http"
|
||||
"github.com/zitadel/oidc/pkg/oidc"
|
||||
"github.com/zitadel/oidc/v2/pkg/client/rp"
|
||||
httphelper "github.com/zitadel/oidc/v2/pkg/http"
|
||||
"github.com/zitadel/oidc/v2/pkg/oidc"
|
||||
)
|
||||
|
||||
var (
|
||||
|
@ -62,7 +62,7 @@ func main() {
|
|||
http.Handle("/login", rp.AuthURLHandler(state, provider, rp.WithPromptURLParam("Welcome back!")))
|
||||
|
||||
// for demonstration purposes the returned userinfo response is written as JSON object onto response
|
||||
marshalUserinfo := func(w http.ResponseWriter, r *http.Request, tokens *oidc.Tokens, state string, rp rp.RelyingParty, info oidc.UserInfo) {
|
||||
marshalUserinfo := func(w http.ResponseWriter, r *http.Request, tokens *oidc.Tokens[*oidc.IDTokenClaims], state string, rp rp.RelyingParty, info *oidc.UserInfo) {
|
||||
data, err := json.Marshal(info)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
|
@ -82,6 +82,31 @@ func main() {
|
|||
// w.Write(data)
|
||||
//}
|
||||
|
||||
// you can also try token exchange flow
|
||||
//
|
||||
// requestTokenExchange := func(w http.ResponseWriter, r *http.Request, tokens *oidc.Tokens, state string, rp rp.RelyingParty, info oidc.UserInfo) {
|
||||
// data := make(url.Values)
|
||||
// data.Set("grant_type", string(oidc.GrantTypeTokenExchange))
|
||||
// data.Set("requested_token_type", string(oidc.IDTokenType))
|
||||
// data.Set("subject_token", tokens.RefreshToken)
|
||||
// data.Set("subject_token_type", string(oidc.RefreshTokenType))
|
||||
// data.Add("scope", "profile custom_scope:impersonate:id2")
|
||||
|
||||
// client := &http.Client{}
|
||||
// r2, _ := http.NewRequest(http.MethodPost, issuer+"/oauth/token", strings.NewReader(data.Encode()))
|
||||
// // r2.Header.Add("Authorization", "Basic "+"d2ViOnNlY3JldA==")
|
||||
// r2.Header.Add("Content-Type", "application/x-www-form-urlencoded")
|
||||
// r2.SetBasicAuth("web", "secret")
|
||||
|
||||
// resp, _ := client.Do(r2)
|
||||
// fmt.Println(resp.Status)
|
||||
|
||||
// b, _ := io.ReadAll(resp.Body)
|
||||
// resp.Body.Close()
|
||||
|
||||
// w.Write(b)
|
||||
// }
|
||||
|
||||
// register the CodeExchangeHandler at the callbackPath
|
||||
// the CodeExchangeHandler handles the auth response, creates the token request and calls the callback function
|
||||
// with the returned tokens from the token endpoint
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue