mirror of
https://github.com/documize/community.git
synced 2025-07-23 07:09:43 +02:00
initial commit
This commit is contained in:
commit
18933c6767
1841 changed files with 810642 additions and 0 deletions
60
vendor/golang.org/x/oauth2/hipchat/hipchat.go
generated
vendored
Normal file
60
vendor/golang.org/x/oauth2/hipchat/hipchat.go
generated
vendored
Normal file
|
@ -0,0 +1,60 @@
|
|||
// Copyright 2016 The Go 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 hipchat provides constants for using OAuth2 to access HipChat.
|
||||
package hipchat // import "golang.org/x/oauth2/hipchat"
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
|
||||
"golang.org/x/oauth2"
|
||||
"golang.org/x/oauth2/clientcredentials"
|
||||
)
|
||||
|
||||
// Endpoint is HipChat's OAuth 2.0 endpoint.
|
||||
var Endpoint = oauth2.Endpoint{
|
||||
AuthURL: "https://www.hipchat.com/users/authorize",
|
||||
TokenURL: "https://api.hipchat.com/v2/oauth/token",
|
||||
}
|
||||
|
||||
// ServerEndpoint returns a new oauth2.Endpoint for a HipChat Server instance
|
||||
// running on the given domain or host.
|
||||
func ServerEndpoint(host string) oauth2.Endpoint {
|
||||
return oauth2.Endpoint{
|
||||
AuthURL: "https://" + host + "/users/authorize",
|
||||
TokenURL: "https://" + host + "/v2/oauth/token",
|
||||
}
|
||||
}
|
||||
|
||||
// ClientCredentialsConfigFromCaps generates a Config from a HipChat API
|
||||
// capabilities descriptor. It does not verify the scopes against the
|
||||
// capabilities document at this time.
|
||||
//
|
||||
// For more information see: https://www.hipchat.com/docs/apiv2/method/get_capabilities
|
||||
func ClientCredentialsConfigFromCaps(capsJSON []byte, clientID, clientSecret string, scopes ...string) (*clientcredentials.Config, error) {
|
||||
var caps struct {
|
||||
Caps struct {
|
||||
Endpoint struct {
|
||||
TokenURL string `json:"tokenUrl"`
|
||||
} `json:"oauth2Provider"`
|
||||
} `json:"capabilities"`
|
||||
}
|
||||
|
||||
if err := json.Unmarshal(capsJSON, &caps); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Verify required fields.
|
||||
if caps.Caps.Endpoint.TokenURL == "" {
|
||||
return nil, errors.New("oauth2/hipchat: missing OAuth2 token URL in the capabilities descriptor JSON")
|
||||
}
|
||||
|
||||
return &clientcredentials.Config{
|
||||
ClientID: clientID,
|
||||
ClientSecret: clientSecret,
|
||||
Scopes: scopes,
|
||||
TokenURL: caps.Caps.Endpoint.TokenURL,
|
||||
}, nil
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue