Skip to content

Commit 0168058

Browse files
Add Bearer Auth Helper Method In Connections
1 parent 3045bdf commit 0168058

File tree

3 files changed

+51
-3
lines changed

3 files changed

+51
-3
lines changed

azuredevops/connection.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"context"
88
"crypto/tls"
99
"encoding/base64"
10+
"fmt"
1011
"strings"
1112
"sync"
1213
"time"
@@ -25,6 +26,17 @@ func NewPatConnection(organizationUrl string, personalAccessToken string) *Conne
2526
}
2627
}
2728

29+
// Creates a new Azure DevOps connection instance using a bearer access token generated by OAuth flows.
30+
func NewBearerConnection(organizationUrl string, bearerAccessToken string) *Connection {
31+
authorizationString := CreateBearerAuthHeaderValue(bearerAccessToken)
32+
organizationUrl = normalizeUrl(organizationUrl)
33+
return &Connection{
34+
AuthorizationString: authorizationString,
35+
BaseUrl: organizationUrl,
36+
SuppressFedAuthRedirect: true,
37+
}
38+
}
39+
2840
func NewAnonymousConnection(organizationUrl string) *Connection {
2941
organizationUrl = normalizeUrl(organizationUrl)
3042
return &Connection{
@@ -49,7 +61,11 @@ type Connection struct {
4961

5062
func CreateBasicAuthHeaderValue(username, password string) string {
5163
auth := username + ":" + password
52-
return "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
64+
return fmt.Sprintf("Basic %s", base64.StdEncoding.EncodeToString([]byte(auth)))
65+
}
66+
67+
func CreateBearerAuthHeaderValue(bearerToken string) string {
68+
return fmt.Sprintf("Bearer %s", bearerToken)
5369
}
5470

5571
func normalizeUrl(url string) string {

azuredevops/v6/connection.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"context"
88
"crypto/tls"
99
"encoding/base64"
10+
"fmt"
1011
"strings"
1112
"sync"
1213
"time"
@@ -25,6 +26,17 @@ func NewPatConnection(organizationUrl string, personalAccessToken string) *Conne
2526
}
2627
}
2728

29+
// Creates a new Azure DevOps connection instance using a bearer access token generated by OAuth flows.
30+
func NewBearerConnection(organizationUrl string, bearerAccessToken string) *Connection {
31+
authorizationString := CreateBearerAuthHeaderValue(bearerAccessToken)
32+
organizationUrl = normalizeUrl(organizationUrl)
33+
return &Connection{
34+
AuthorizationString: authorizationString,
35+
BaseUrl: organizationUrl,
36+
SuppressFedAuthRedirect: true,
37+
}
38+
}
39+
2840
func NewAnonymousConnection(organizationUrl string) *Connection {
2941
organizationUrl = normalizeUrl(organizationUrl)
3042
return &Connection{
@@ -49,7 +61,11 @@ type Connection struct {
4961

5062
func CreateBasicAuthHeaderValue(username, password string) string {
5163
auth := username + ":" + password
52-
return "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
64+
return fmt.Sprintf("Basic %s", base64.StdEncoding.EncodeToString([]byte(auth)))
65+
}
66+
67+
func CreateBearerAuthHeaderValue(bearerToken string) string {
68+
return fmt.Sprintf("Bearer %s", bearerToken)
5369
}
5470

5571
func normalizeUrl(url string) string {

azuredevops/v7/connection.go

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"context"
88
"crypto/tls"
99
"encoding/base64"
10+
"fmt"
1011
"strings"
1112
"sync"
1213
"time"
@@ -25,6 +26,17 @@ func NewPatConnection(organizationUrl string, personalAccessToken string) *Conne
2526
}
2627
}
2728

29+
// Creates a new Azure DevOps connection instance using a bearer access token generated by OAuth flows.
30+
func NewBearerConnection(organizationUrl string, bearerAccessToken string) *Connection {
31+
authorizationString := CreateBearerAuthHeaderValue(bearerAccessToken)
32+
organizationUrl = normalizeUrl(organizationUrl)
33+
return &Connection{
34+
AuthorizationString: authorizationString,
35+
BaseUrl: organizationUrl,
36+
SuppressFedAuthRedirect: true,
37+
}
38+
}
39+
2840
func NewAnonymousConnection(organizationUrl string) *Connection {
2941
organizationUrl = normalizeUrl(organizationUrl)
3042
return &Connection{
@@ -49,7 +61,11 @@ type Connection struct {
4961

5062
func CreateBasicAuthHeaderValue(username, password string) string {
5163
auth := username + ":" + password
52-
return "Basic " + base64.StdEncoding.EncodeToString([]byte(auth))
64+
return fmt.Sprintf("Basic %s", base64.StdEncoding.EncodeToString([]byte(auth)))
65+
}
66+
67+
func CreateBearerAuthHeaderValue(bearerToken string) string {
68+
return fmt.Sprintf("Bearer %s", bearerToken)
5369
}
5470

5571
func normalizeUrl(url string) string {

0 commit comments

Comments
 (0)