---
name: "Twitter::API::Trait::AppAuth"
section: "3pm"
platform: "linux"
package: "libtwitter-api-perl"
version: "1.0006-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Twitter::API::Trait::AppAuth"
---

# Twitter::API::Trait::AppAuth(3pm)

App-only (OAuth2) Authentication

## NAME

Twitter::API::Trait::AppAuth - App-only (OAuth2) Authentication

## VERSION

version 1.0006

## SYNOPSIS

```
    use Twitter::API;
    my $client = Twitter::API->new_with_traits(
        traits => [ qw/ApiMethods AppAuth/ ]);
    my $r = $client->oauth2_token;
    # return value is hash ref:
    # { token_type => 'bearer', access_token => 'AA...' }
    my $token = $r->{access_token};
    # you can use the token explicitly with the -token argument:
    my $user = $client->show_user('twitter_api', { -token => $token });
    # or you can set the access_token attribute to use it implicitly
    $client->access_token($token);
    my $user = $client->show_user('twitterapi');
    # to revoke a token
    $client->invalidate_token($token);
    # if you revoke the token stored in the access_token attribute, clear it:
    $client->clear_access_token;
```

## METHODS

### oauth2\_token

Call the `"oauth2/token"` endpoint to get a bearer token. The token is not stored in Twitter::API's state. If you want that, set the `"access_token"` attribute with the returned token.

See \<https://developer.twitter.com/en/docs/basics/authentication/api-reference/token\> for details.

### invalidate\_token($token)

Calls the `"oauth2/invalidate_token"` endpoint to revoke a token. See \<https://developer.twitter.com/en/docs/basics/authentication/api-reference/invalidate\_token\> for details.

## AUTHOR

Marc Mims \<marc@questright.com\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2015-2021 by Marc Mims.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
