mirror of https://github.com/grafana/grafana.git
				
				
				
			
		
			
	
	
		
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
		
		
			
		
	
	
			46 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
|  | // Copyright 2014 The oauth2 Authors. All rights reserved.
 | ||
|  | // Use of this source code is governed by a BSD-style
 | ||
|  | // license that can be found in the LICENSE file.
 | ||
|  | 
 | ||
|  | package oauth2_test | ||
|  | 
 | ||
|  | import ( | ||
|  | 	"fmt" | ||
|  | 	"log" | ||
|  | 
 | ||
|  | 	"golang.org/x/oauth2" | ||
|  | ) | ||
|  | 
 | ||
|  | func ExampleConfig() { | ||
|  | 	conf := &oauth2.Config{ | ||
|  | 		ClientID:     "YOUR_CLIENT_ID", | ||
|  | 		ClientSecret: "YOUR_CLIENT_SECRET", | ||
|  | 		Scopes:       []string{"SCOPE1", "SCOPE2"}, | ||
|  | 		Endpoint: oauth2.Endpoint{ | ||
|  | 			AuthURL:  "https://provider.com/o/oauth2/auth", | ||
|  | 			TokenURL: "https://provider.com/o/oauth2/token", | ||
|  | 		}, | ||
|  | 	} | ||
|  | 
 | ||
|  | 	// Redirect user to consent page to ask for permission
 | ||
|  | 	// for the scopes specified above.
 | ||
|  | 	url := conf.AuthCodeURL("state", oauth2.AccessTypeOffline) | ||
|  | 	fmt.Printf("Visit the URL for the auth dialog: %v", url) | ||
|  | 
 | ||
|  | 	// Use the authorization code that is pushed to the redirect URL.
 | ||
|  | 	// NewTransportWithCode will do the handshake to retrieve
 | ||
|  | 	// an access token and initiate a Transport that is
 | ||
|  | 	// authorized and authenticated by the retrieved token.
 | ||
|  | 	var code string | ||
|  | 	if _, err := fmt.Scan(&code); err != nil { | ||
|  | 		log.Fatal(err) | ||
|  | 	} | ||
|  | 	tok, err := conf.Exchange(oauth2.NoContext, code) | ||
|  | 	if err != nil { | ||
|  | 		log.Fatal(err) | ||
|  | 	} | ||
|  | 
 | ||
|  | 	client := conf.Client(oauth2.NoContext, tok) | ||
|  | 	client.Get("...") | ||
|  | } |