Skip to main content
telnyx-oauth-go Implement OAuth 2.0 authentication flows for Telnyx API access. This skill provides Go SDK examples.
Aller à l'installation Skills Marketplace Découvrez et explorez les compétences IA créées par la communauté.
Installer avec Codex ou Claude Copiez ce prompt, collez-le dans Codex, Claude ou un autre assistant, puis laissez-le vérifier la page du skill et l'installer pour vous.
Copier le promptAfficher les détails du prompt Une commande directe contourne le prompt de vérification. Examinez la source avant de l'exécuter.
npx skills add https://github.com/team-telnyx/telnyx-toolkit --skill telnyx-oauth-goLa commande reste sur une seule ligne. Faites défiler horizontalement pour la vérifier avant de la copier.
Vous préférez une copie locale ? Téléchargez les fichiers actuellement disponibles dans SkillsMP.
Télécharger Zip Téléchargement... Basé sur la classification professionnelle SOC
name telnyx-oauth-go description Implement OAuth 2.0 authentication flows for Telnyx API access. This skill provides Go SDK examples. metadata {"author":"telnyx","product":"oauth","language":"go","generated_by":"telnyx-ext-skills-generator"}
Telnyx Oauth - Go
Installation
go get github.com/team-telnyx/telnyx-go
Setup
import (
"context"
"fmt"
"os"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
client := telnyx.NewClient(
option.WithAPIKey(os.Getenv("TELNYX_API_KEY" )),
)
All examples below assume client is already initialized as shown above.
Authorization server metadata
OAuth 2.0 Authorization Server Metadata (RFC 8414)
GET /.well-known/oauth-authorization-server
response, err := client.WellKnown.GetAuthorizationServerMetadata(context.TODO())
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.AuthorizationEndpoint)
Protected resource metadata
OAuth 2.0 Protected Resource Metadata for resource discovery
GET /.well-known/oauth-protected-resource
response, err := client.WellKnown.GetProtectedResourceMetadata(context.TODO())
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.AuthorizationServers)
OAuth authorization endpoint OAuth 2.0 authorization endpoint for the authorization code flow
err := client.OAuth.GetAuthorize(context.TODO(), telnyx.OAuthGetAuthorizeParams{
ClientID: "client_id" ,
RedirectUri: "https://example.com" ,
ResponseType: telnyx.OAuthGetAuthorizeParamsResponseTypeCode,
})
if err != nil {
panic (err.Error())
}
List OAuth clients Retrieve a paginated list of OAuth clients for the authenticated user
page, err := client.OAuthClients.List(context.TODO(), telnyx.OAuthClientListParams{})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , page)
Create OAuth client Create a new OAuth client
POST /oauth/clients — Required: name, allowed_scopes, client_type, allowed_grant_types
oauthClient, err := client.OAuthClients.New(context.TODO(), telnyx.OAuthClientNewParams{
AllowedGrantTypes: []string {"client_credentials" },
AllowedScopes: []string {"admin" },
ClientType: telnyx.OAuthClientNewParamsClientTypePublic,
Name: "My OAuth client" ,
})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauthClient.Data)
Get OAuth client Retrieve a single OAuth client by ID
oauthClient, err := client.OAuthClients.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" )
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauthClient.Data)
Update OAuth client Update an existing OAuth client
oauthClient, err := client.OAuthClients.Update(
context.TODO(),
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" ,
telnyx.OAuthClientUpdateParams{},
)
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauthClient.Data)
Delete OAuth client DELETE /oauth/clients/{id}
err := client.OAuthClients.Delete(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" )
if err != nil {
panic (err.Error())
}
Get OAuth consent token Retrieve details about an OAuth consent token
GET /oauth/consent/{consent_token}
oauth, err := client.OAuth.Get(context.TODO(), "consent_token" )
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauth.Data)
List OAuth grants Retrieve a paginated list of OAuth grants for the authenticated user
page, err := client.OAuthGrants.List(context.TODO(), telnyx.OAuthGrantListParams{})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , page)
Get OAuth grant Retrieve a single OAuth grant by ID
oauthGrant, err := client.OAuthGrants.Get(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" )
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauthGrant.Data)
Revoke OAuth grant DELETE /oauth/grants/{id}
oauthGrant, err := client.OAuthGrants.Delete(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e" )
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , oauthGrant.Data)
Token introspection Introspect an OAuth access token to check its validity and metadata
POST /oauth/introspect — Required: token
response, err := client.OAuth.Introspect(context.TODO(), telnyx.OAuthIntrospectParams{
Token: "token" ,
})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.ClientID)
JSON Web Key Set Retrieve the JSON Web Key Set for token verification
response, err := client.OAuth.GetJwks(context.TODO())
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.Keys)
Dynamic client registration Register a new OAuth client dynamically (RFC 7591)
response, err := client.OAuth.Register(context.TODO(), telnyx.OAuthRegisterParams{})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.ClientID)
OAuth token endpoint Exchange authorization code, client credentials, or refresh token for access token
POST /oauth/token — Required: grant_type
response, err := client.OAuth.Token(context.TODO(), telnyx.OAuthTokenParams{
GrantType: telnyx.OAuthTokenParamsGrantTypeClientCredentials,
})
if err != nil {
panic (err.Error())
}
fmt.Printf("%+v\n" , response.AccessToken)