vitess.io/vitess@v0.16.2/go/vt/vtadmin/http/experimental/whoami.go (about)

     1  package experimental
     2  
     3  import (
     4  	"context"
     5  
     6  	vtadminhttp "vitess.io/vitess/go/vt/vtadmin/http"
     7  	"vitess.io/vitess/go/vt/vtadmin/rbac"
     8  )
     9  
    10  // WhoAmI is an experimental route for extracting authenticated Actors from
    11  // the request, to see who is authenticated on the frontend.
    12  func WhoAmI(ctx context.Context, r vtadminhttp.Request, api *vtadminhttp.API) *vtadminhttp.JSONResponse {
    13  	data := map[string]any{}
    14  	actor, ok := rbac.FromContext(ctx)
    15  	data["authenticated"] = ok
    16  	if ok {
    17  		data["actor"] = actor
    18  	}
    19  
    20  	return vtadminhttp.NewJSONResponse(data, nil)
    21  }