@@ -93,6 +93,22 @@ The high-level steps involved in liveness orchestration are illustrated below:
93
93
94
94
#### [ C#] ( #tab/csharp )
95
95
``` csharp
96
+ var endpoint = new Uri (System .Environment .GetEnvironmentVariable (" VISION_ENDPOINT" ));
97
+ var credential = new AzureKeyCredential (System .Environment .GetEnvironmentVariable (" VISION_KEY" ));
98
+
99
+ var sessionClient = new FaceSessionClient (endpoint , credential );
100
+
101
+ var createContent = new CreateLivenessSessionContent (LivenessOperationMode .Passive )
102
+ {
103
+ DeviceCorrelationId = " 723d6d03-ef33-40a8-9682-23a1feb7bccd" ,
104
+ SendResultsToClient = false ,
105
+ };
106
+
107
+ var createResponse = await sessionClient .CreateLivenessSessionAsync (createContent );
108
+ var sessionId = createResponse .Value .SessionId ;
109
+ Console .WriteLine ($" Session created." );
110
+ Console .WriteLine ($" Session id: {sessionId }" );
111
+ Console .WriteLine ($" Auth token: {createResponse .Value .AuthToken }" );
96
112
```
97
113
98
114
#### [Java](#tab/java)
@@ -207,6 +223,18 @@ The high-level steps involved in liveness orchestration are illustrated below:
207
223
208
224
#### [C#](#tab/csharp)
209
225
```csharp
226
+ var getResultResponse = await sessionClient .GetLivenessSessionResultAsync (sessionId );
227
+
228
+ var sessionResult = getResultResponse .Value ;
229
+ Console .WriteLine ($" Session id: {sessionResult .Id }" );
230
+ Console .WriteLine ($" Session status: {sessionResult .Status }" );
231
+ Console .WriteLine ($" Liveness detection request id: {sessionResult .Result ? .RequestId }" );
232
+ Console .WriteLine ($" Liveness detection received datetime: {sessionResult .Result ? .ReceivedDateTime }" );
233
+ Console .WriteLine ($" Liveness detection decision: {sessionResult .Result ? .Response .Body .LivenessDecision }" );
234
+ Console .WriteLine ($" Session created datetime: {sessionResult .CreatedDateTime }" );
235
+ Console .WriteLine ($" Auth token TTL (seconds): {sessionResult .AuthTokenTimeToLiveInSeconds }" );
236
+ Console .WriteLine ($" Session expired: {sessionResult .SessionExpired }" );
237
+ Console .WriteLine ($" Device correlation id: {sessionResult .DeviceCorrelationId }" );
210
238
```
211
239
212
240
#### [Java](#tab/java)
@@ -306,6 +334,8 @@ The high-level steps involved in liveness orchestration are illustrated below:
306
334
307
335
#### [C#](#tab/csharp)
308
336
```csharp
337
+ await sessionClient .DeleteLivenessSessionAsync (sessionId );
338
+ Console .WriteLine ($" The session {sessionId } is deleted." );
309
339
```
310
340
311
341
#### [Java](#tab/java)
@@ -378,6 +408,26 @@ The high-level steps involved in liveness with verification orchestration are il
378
408
379
409
#### [C#](#tab/csharp)
380
410
```csharp
411
+ var endpoint = new Uri (System .Environment .GetEnvironmentVariable (" VISION_ENDPOINT" ));
412
+ var credential = new AzureKeyCredential (System .Environment .GetEnvironmentVariable (" VISION_KEY" ));
413
+
414
+ var sessionClient = new FaceSessionClient (endpoint , credential );
415
+
416
+ var createContent = new CreateLivenessSessionContent (LivenessOperationMode .Passive )
417
+ {
418
+ DeviceCorrelationId = " 723d6d03-ef33-40a8-9682-23a1feb7bccd"
419
+ };
420
+ using var fileStream = new FileStream (" test.png" , FileMode .Open , FileAccess .Read );
421
+
422
+ var createResponse = await sessionClient .CreateLivenessWithVerifySessionAsync (createContent , fileStream );
423
+
424
+ var sessionId = createResponse .Value .SessionId ;
425
+ Console .WriteLine (" Session created." );
426
+ Console .WriteLine ($" Session id: {sessionId }" );
427
+ Console .WriteLine ($" Auth token: {createResponse .Value .AuthToken }" );
428
+ Console .WriteLine (" The reference image:" );
429
+ Console .WriteLine ($" Face rectangle: {createResponse .Value .VerifyImage .FaceRectangle .Top }, {createResponse .Value .VerifyImage .FaceRectangle .Left }, {createResponse .Value .VerifyImage .FaceRectangle .Width }, {createResponse .Value .VerifyImage .FaceRectangle .Height }" );
430
+ Console .WriteLine ($" The quality for recognition: {createResponse .Value .VerifyImage .QualityForRecognition }" );
381
431
```
382
432
383
433
#### [Java](#tab/java)
@@ -502,6 +552,19 @@ The high-level steps involved in liveness with verification orchestration are il
502
552
503
553
#### [C#](#tab/csharp)
504
554
```csharp
555
+ var getResultResponse = await sessionClient .GetLivenessWithVerifySessionResultAsync (sessionId );
556
+ var sessionResult = getResultResponse .Value ;
557
+ Console .WriteLine ($" Session id: {sessionResult .Id }" );
558
+ Console .WriteLine ($" Session status: {sessionResult .Status }" );
559
+ Console .WriteLine ($" Liveness detection request id: {sessionResult .Result ? .RequestId }" );
560
+ Console .WriteLine ($" Liveness detection received datetime: {sessionResult .Result ? .ReceivedDateTime }" );
561
+ Console .WriteLine ($" Liveness detection decision: {sessionResult .Result ? .Response .Body .LivenessDecision }" );
562
+ Console .WriteLine ($" Verification result: {sessionResult .Result ? .Response .Body .VerifyResult .IsIdentical }" );
563
+ Console .WriteLine ($" Verification confidence: {sessionResult .Result ? .Body .VerifyResult .MatchConfidence }" );
564
+ Console .WriteLine ($" Session created datetime: {sessionResult .CreatedDateTime }" );
565
+ Console .WriteLine ($" Auth token TTL (seconds): {sessionResult .AuthTokenTimeToLiveInSeconds }" );
566
+ Console .WriteLine ($" Session expired: {sessionResult .SessionExpired }" );
567
+ Console .WriteLine ($" Device correlation id: {sessionResult .DeviceCorrelationId }" );
505
568
```
506
569
507
570
#### [Java](#tab/java)
@@ -609,6 +672,8 @@ The high-level steps involved in liveness with verification orchestration are il
609
672
610
673
#### [C#](#tab/csharp)
611
674
```csharp
675
+ await sessionClient .DeleteLivenessWithVerifySessionAsync (sessionId );
676
+ Console .WriteLine ($" The session {sessionId } is deleted." );
612
677
```
613
678
614
679
#### [Java](#tab/java)
0 commit comments