MCPcopy Create free account
hub / github.com/github/copilot-sdk / handleMCPAuthRequest

Method handleMCPAuthRequest

go/session.go:942–975  ·  view source on GitHub ↗
(request MCPAuthRequest)

Source from the content-addressed store, hash-verified

940}
941
942func (s *Session) handleMCPAuthRequest(request MCPAuthRequest) {
943 handler := s.getMCPAuthHandler()
944 if handler == nil {
945 return
946 }
947
948 ctx := context.Background()
949 cancel := &rpc.MCPOauthPendingRequestResponseCancelled{}
950 result, err := handler(request, MCPAuthInvocation{SessionID: s.SessionID})
951 if err != nil {
952 log.Printf(
953 "MCP OAuth handler failed. SessionId=%s, RequestId=%s, Error=%v",
954 s.SessionID,
955 request.RequestID,
956 err,
957 )
958 }
959 if err != nil || result == nil || result.Kind == MCPAuthResultKindCancelled || result.Token == nil {
960 s.RPC.MCP.Oauth().HandlePendingRequest(ctx, &rpc.MCPOauthHandlePendingRequest{
961 RequestID: request.RequestID,
962 Result: cancel,
963 })
964 return
965 }
966
967 s.RPC.MCP.Oauth().HandlePendingRequest(ctx, &rpc.MCPOauthHandlePendingRequest{
968 RequestID: request.RequestID,
969 Result: &rpc.MCPOauthPendingRequestResponseToken{
970 AccessToken: result.Token.AccessToken,
971 TokenType: result.Token.TokenType,
972 ExpiresIn: result.Token.ExpiresIn,
973 },
974 })
975}
976
977// handleElicitationRequest dispatches an elicitation.requested event to the registered handler
978// and sends the result back via the RPC layer. Auto-cancels on error.

Callers 1

handleBroadcastEventMethod · 0.95

Calls 4

getMCPAuthHandlerMethod · 0.95
handlerFunction · 0.85
HandlePendingRequestMethod · 0.80
OauthMethod · 0.45

Tested by

no test coverage detected