-
Notifications
You must be signed in to change notification settings - Fork 1
/
bidget.c
48 lines (39 loc) · 1.17 KB
/
bidget.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "browserid.h"
int main(int argc, const char *argv[])
{
BIDError err;
BIDContext context = NULL;
char *assertion = NULL;
time_t expires;
uint32_t flags = 0;
if (argc != 2) {
fprintf(stderr, "Usage: %s audience\n", argv[0]);
exit(BID_S_INVALID_PARAMETER);
}
err = BIDAcquireContext(NULL, /* szConfigFile */
BID_CONTEXT_USER_AGENT,
NULL, /* pvReserved */
&context);
if (err != BID_S_OK)
goto cleanup;
err = BIDAcquireAssertion(context, BID_C_NO_TICKET_CACHE, argv[1],
NULL, 0, NULL, 0,
&assertion, NULL, &expires, &flags);
if (err != BID_S_OK)
goto cleanup;
printf("Assertion:\n%s\n", assertion);
cleanup:
if (context != BID_C_NO_CONTEXT) {
BIDFreeAssertion(context, assertion);
BIDReleaseContext(context);
}
if (err != BID_S_OK) {
const char *s;
BIDErrorToString(err, &s);
fprintf(stderr, "libbrowserid error %s[%d]\n", s, err);
}
exit(err);
}