api_op_RevokeOAuth2TokenWithIAM.go (3272B)
1 // Code generated by smithy-go-codegen DO NOT EDIT. 2 3 package signin 4 5 import ( 6 "context" 7 8 "github.com/aws/smithy-go/middleware" 9 "github.com/aws/smithy-go/ptr" 10 ) 11 12 // Grants permission to revoke an OAuth 2.0 refresh token and its associated 13 // refresh tokens 14 // 15 // Revokes a refresh_token issued by AWS Sign-In, invalidating the entire token 16 // chain so that the refresh_token can no longer be used to mint new access_tokens. 17 // 18 // Idempotency: revoking an already-revoked, expired, or otherwise invalid token 19 // still returns 200 OK with an empty body. Only the refresh_token type is 20 // accepted. 21 func (c *Client) RevokeOAuth2TokenWithIAM(ctx context.Context, params *RevokeOAuth2TokenWithIAMInput, optFns ...func(*Options)) (*RevokeOAuth2TokenWithIAMOutput, error) { 22 if params == nil { 23 params = &RevokeOAuth2TokenWithIAMInput{} 24 } 25 26 result, metadata, err := c.invokeOperation(ctx, "RevokeOAuth2TokenWithIAM", params, optFns, c.addOperationRevokeOAuth2TokenWithIAMMiddlewares) 27 if err != nil { 28 return nil, err 29 } 30 31 out := result.(*RevokeOAuth2TokenWithIAMOutput) 32 out.ResultMetadata = metadata 33 return out, nil 34 } 35 36 // Input structure for RevokeOAuth2TokenWithIAM operation 37 // 38 // RFC 7009 §2.1 revocation request. Contains the refresh_token to revoke. 39 type RevokeOAuth2TokenWithIAMInput struct { 40 41 // The refresh_token to revoke. Must be a refresh_token issued by AWS Sign-In 42 // (prefix "ASOR"); access_tokens are not accepted for revocation. 43 // 44 // This member is required. 45 Token *string 46 47 noSmithyDocumentSerde 48 } 49 50 func (in *RevokeOAuth2TokenWithIAMInput) bindEndpointParams(p *EndpointParameters) { 51 52 p.IsOAuthEndpoint = ptr.Bool(true) 53 } 54 55 // Output structure for RevokeOAuth2TokenWithIAM operation 56 // 57 // RFC 7009 §2.2 revocation response. The endpoint returns 200 OK with an empty 58 // body on success; there are no response fields. 59 type RevokeOAuth2TokenWithIAMOutput struct { 60 // Metadata pertaining to the operation's result. 61 ResultMetadata middleware.Metadata 62 63 noSmithyDocumentSerde 64 } 65 66 func (c *Client) addOperationRevokeOAuth2TokenWithIAMMiddlewares(stack *middleware.Stack, options Options) (err error) { 67 err = stack.Serialize.Add(&awsRestjson1_serializeOpRevokeOAuth2TokenWithIAM{}, middleware.After) 68 if err != nil { 69 return err 70 } 71 err = stack.Deserialize.Add(&awsRestjson1_deserializeOpRevokeOAuth2TokenWithIAM{}, middleware.After) 72 if err != nil { 73 return err 74 } 75 76 if err = addComputeContentLength(stack); err != nil { 77 return err 78 } 79 if err = addResolveEndpointMiddleware(stack, options); err != nil { 80 return err 81 } 82 if err = addComputePayloadSHA256(stack); err != nil { 83 return err 84 } 85 if err = addRecordResponseTiming(stack, options); err != nil { 86 return err 87 } 88 if err = addCredentialSource(stack, options); err != nil { 89 return err 90 } 91 if err = addOpRevokeOAuth2TokenWithIAMValidationMiddleware(stack); err != nil { 92 return err 93 } 94 if err = addRequestIDRetrieverMiddleware(stack); err != nil { 95 return err 96 } 97 if err = addResponseErrorMiddleware(stack); err != nil { 98 return err 99 } 100 if err = addRequestResponseLogging(stack, options); err != nil { 101 return err 102 } 103 if err = addDisableHTTPSMiddleware(stack, options); err != nil { 104 return err 105 } 106 if err = addInterceptors(stack, options); err != nil { 107 return err 108 } 109 return nil 110 }