github.com/vmware/govmomi@v0.51.0/vapi/rest/example_test.go (about) 1 // © Broadcom. All Rights Reserved. 2 // The term “Broadcom” refers to Broadcom Inc. and/or its subsidiaries. 3 // SPDX-License-Identifier: Apache-2.0 4 5 package rest_test 6 7 import ( 8 "context" 9 "fmt" 10 "net/url" 11 12 _ "github.com/vmware/govmomi/lookup/simulator" 13 "github.com/vmware/govmomi/simulator" 14 "github.com/vmware/govmomi/sts" 15 _ "github.com/vmware/govmomi/sts/simulator" 16 "github.com/vmware/govmomi/vapi/rest" 17 "github.com/vmware/govmomi/vim25" 18 ) 19 20 func ExampleClient_LoginByToken() { 21 simulator.Run(func(ctx context.Context, vc *vim25.Client) error { 22 c, err := sts.NewClient(ctx, vc) 23 if err != nil { 24 return err 25 } 26 27 // Issue a bearer token 28 req := sts.TokenRequest{ 29 Userinfo: url.UserPassword("Administrator@VSPHERE.LOCAL", "password"), 30 } 31 32 signer, err := c.Issue(ctx, req) 33 if err != nil { 34 return err 35 } 36 37 rc := rest.NewClient(vc) 38 39 err = rc.LoginByToken(rc.WithSigner(ctx, signer)) 40 if err != nil { 41 return err 42 } 43 44 session, err := rc.Session(ctx) 45 if err != nil { 46 return err 47 } 48 49 // Note: vcsim does not currently parse the token NameID for rest as it does for soap 50 fmt.Println(session.User) 51 52 return nil 53 }) 54 // Output: TODO 55 }