MCPcopy
hub / github.com/ory/hydra / verifyDevice

Method verifyDevice

consent/strategy_default.go:1258–1278  ·  view source on GitHub ↗
(ctx context.Context, _ http.ResponseWriter, r *http.Request, verifier string)

Source from the content-addressed store, hash-verified

1256}
1257
1258func (s *defaultStrategy) verifyDevice(ctx context.Context, _ http.ResponseWriter, r *http.Request, verifier string) (_ *flow.Flow, err error) {
1259 ctx, span := trace.SpanFromContext(ctx).TracerProvider().Tracer("").Start(ctx, "DefaultStrategy.verifyDevice")
1260 defer otelx.End(span, &err)
1261
1262 f, err := flow.DecodeAndInvalidateDeviceVerifier(ctx, s.r, verifier)
1263 if err != nil {
1264 return nil, err
1265 }
1266
1267 store, err := s.r.CookieStore(ctx)
1268 if err != nil {
1269 return nil, err
1270 }
1271
1272 cookieNameDeviceCSRF := s.r.Config().CookieNameDeviceCSRF(ctx)
1273 if err := validateCSRFCookie(ctx, r, s.r.Config(), store, cookieNameDeviceCSRF, f.DeviceCSRF.String()); err != nil {
1274 return nil, err
1275 }
1276
1277 return f, nil
1278}
1279
1280func (s *defaultStrategy) getDeviceVerificationPath(ctx context.Context) *url.URL {
1281 return urlx.AppendPaths(s.r.Config().PublicURL(ctx), deviceVerificationPath)

Calls 7

validateCSRFCookieFunction · 0.85
CookieNameDeviceCSRFMethod · 0.80
TracerMethod · 0.65
CookieStoreMethod · 0.65
ConfigMethod · 0.65
StringMethod · 0.65

Tested by

no test coverage detected