diff options
author | Wim <wim@42.be> | 2019-12-26 23:12:28 +0100 |
---|---|---|
committer | Wim <wim@42.be> | 2020-03-01 22:19:33 +0100 |
commit | 795a8705c3fdc5bf55e83d382e7d3ff233896a0b (patch) | |
tree | 46ac43e487102de7ea21a823a7a7902ae9493f88 /vendor/github.com/yaegashi/msgraph.go/msauth/client_credentials_grant.go | |
parent | 3af0dc3b3a5bfaffe37770c437427f1e99402405 (diff) | |
download | matterbridge-msglm-795a8705c3fdc5bf55e83d382e7d3ff233896a0b.tar.gz matterbridge-msglm-795a8705c3fdc5bf55e83d382e7d3ff233896a0b.tar.bz2 matterbridge-msglm-795a8705c3fdc5bf55e83d382e7d3ff233896a0b.zip |
Add initial Microsoft Teams support
Documentation on https://github.com/42wim/matterbridge/wiki/MS-Teams-setup
Diffstat (limited to 'vendor/github.com/yaegashi/msgraph.go/msauth/client_credentials_grant.go')
-rw-r--r-- | vendor/github.com/yaegashi/msgraph.go/msauth/client_credentials_grant.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/vendor/github.com/yaegashi/msgraph.go/msauth/client_credentials_grant.go b/vendor/github.com/yaegashi/msgraph.go/msauth/client_credentials_grant.go new file mode 100644 index 00000000..bc50883d --- /dev/null +++ b/vendor/github.com/yaegashi/msgraph.go/msauth/client_credentials_grant.go @@ -0,0 +1,27 @@ +package msauth + +import ( + "context" + + "golang.org/x/oauth2" + "golang.org/x/oauth2/clientcredentials" + "golang.org/x/oauth2/microsoft" +) + +// ClientCredentialsGrant performs OAuth 2.0 client credentials grant and returns auto-refreshing TokenSource +func (m *Manager) ClientCredentialsGrant(ctx context.Context, tenantID, clientID, clientSecret string, scopes []string) (oauth2.TokenSource, error) { + config := &clientcredentials.Config{ + ClientID: clientID, + ClientSecret: clientSecret, + TokenURL: microsoft.AzureADEndpoint(tenantID).TokenURL, + Scopes: scopes, + AuthStyle: oauth2.AuthStyleInParams, + } + var err error + ts := config.TokenSource(ctx) + _, err = ts.Token() + if err != nil { + return nil, err + } + return ts, nil +} |