...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package impersonate_test
16
17 import (
18 "log"
19
20 "cloud.google.com/go/auth/credentials/impersonate"
21 "cloud.google.com/go/auth/httptransport"
22 )
23
24 func ExampleNewCredentials_serviceAccount() {
25
26 creds, err := impersonate.NewCredentials(&impersonate.CredentialsOptions{
27 TargetPrincipal: "foo@project-id.iam.gserviceaccount.com",
28 Scopes: []string{"https://www.googleapis.com/auth/cloud-platform"},
29
30 Delegates: []string{"bar@project-id.iam.gserviceaccount.com"},
31 })
32 if err != nil {
33 log.Fatal(err)
34 }
35
36
37
38
39 _ = creds
40 }
41
42 func ExampleNewCredentials_adminUser() {
43
44 creds, err := impersonate.NewCredentials(&impersonate.CredentialsOptions{
45 TargetPrincipal: "foo@project-id.iam.gserviceaccount.com",
46 Scopes: []string{"https://www.googleapis.com/auth/cloud-platform"},
47
48 Delegates: []string{"bar@project-id.iam.gserviceaccount.com"},
49
50 Subject: "admin@example.com",
51 })
52 if err != nil {
53 log.Fatal(err)
54 }
55
56
57
58 _ = creds
59 }
60
61 func ExampleNewIDTokenCredentials() {
62
63 creds, err := impersonate.NewIDTokenCredentials(&impersonate.IDTokenOptions{
64 Audience: "http://example.com/",
65 TargetPrincipal: "foo@project-id.iam.gserviceaccount.com",
66 IncludeEmail: true,
67
68 Delegates: []string{"bar@project-id.iam.gserviceaccount.com"},
69 })
70 if err != nil {
71 log.Fatal(err)
72 }
73
74
75 client, err := httptransport.NewClient(&httptransport.Options{
76 Credentials: creds,
77 })
78 if err != nil {
79 log.Fatal(err)
80 }
81
82
83
84 client.Get("http://example.com/")
85 }
86
View as plain text