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

Method UpdateDeviceCodeSessionBySignature

persistence/sql/persister_device.go:267–290  ·  view source on GitHub ↗

UpdateDeviceCodeSessionBySignature updates a device code session by the device_code signature. Implements FositeStorer.

(ctx context.Context, signature string, requester fosite.DeviceRequester)

Source from the content-addressed store, hash-verified

265
266// UpdateDeviceCodeSessionBySignature updates a device code session by the device_code signature. Implements FositeStorer.
267func (p *Persister) UpdateDeviceCodeSessionBySignature(ctx context.Context, signature string, requester fosite.DeviceRequester) (err error) {
268 ctx, span := p.r.Tracer(ctx).Tracer().Start(ctx, "persistence.sql.UpdateDeviceCodeSessionBySignature")
269 defer otelx.End(span, &err)
270
271 req, err := p.sqlDeviceSchemaFromRequest(ctx, signature, "", requester, requester.GetSession().GetExpiresAt(fosite.DeviceCode).UTC())
272 if err != nil {
273 return err
274 }
275
276 stmt := fmt.Sprintf(
277 "UPDATE %s SET granted_scope=?, granted_audience=?, session_data=?, user_code_state=?, subject=?, challenge_id=? WHERE device_code_signature=? AND nid = ?",
278 sqlTableDeviceAuthCodes,
279 )
280
281 /* #nosec G201 table is static */
282 return sqlcon.HandleError(
283 p.Connection(ctx).RawQuery(stmt,
284 req.GrantedScope, req.GrantedAudience,
285 req.Session, req.UserCodeState,
286 req.Subject, req.ConsentChallenge,
287 signature, p.NetworkID(ctx),
288 ).Exec(),
289 )
290}

Callers

nothing calls this directly

Implementers 1

BasePersisterpersistence/sql/persister.go

Calls 7

ConnectionMethod · 0.95
TracerMethod · 0.65
GetExpiresAtMethod · 0.65
GetSessionMethod · 0.65
ExecMethod · 0.65
NetworkIDMethod · 0.65

Tested by

no test coverage detected