27 lines
664 B
Go
27 lines
664 B
Go
|
package op
|
||
|
|
||
|
import (
|
||
|
"log"
|
||
|
"net/http"
|
||
|
|
||
|
"github.com/gorilla/mux"
|
||
|
"github.com/ory/fosite"
|
||
|
)
|
||
|
|
||
|
func (op *OIDCHandler) IntrospectionEndpoint(w http.ResponseWriter, r *http.Request) {
|
||
|
w.Header().Set("Access-Control-Allow-Origin", "*")
|
||
|
namespace := mux.Vars(r)["namespace"]
|
||
|
oauth2Provider := op.NamespaceProviders[namespace]
|
||
|
|
||
|
ctx := r.Context()
|
||
|
mySessionData := new(fosite.DefaultSession)
|
||
|
ir, err := oauth2Provider.NewIntrospectionRequest(ctx, r, mySessionData)
|
||
|
if err != nil {
|
||
|
log.Printf("Error occurred in NewIntrospectionRequest: %+v", err)
|
||
|
oauth2Provider.WriteIntrospectionError(w, err)
|
||
|
return
|
||
|
}
|
||
|
|
||
|
oauth2Provider.WriteIntrospectionResponse(w, ir)
|
||
|
}
|