PHPackages                             axispointalliance/tmhoauth - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. axispointalliance/tmhoauth

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

axispointalliance/tmhoauth
==========================

An OAuth library written in PHP by @themattharris

0.8.4(11y ago)0291Apache-2.0PHPPHP &gt;=5.3.0

Since Nov 1Pushed 6y agoCompare

[ Source](https://github.com/AxisPointAlliance/tmhOAuth)[ Packagist](https://packagist.org/packages/axispointalliance/tmhoauth)[ RSS](/packages/axispointalliance-tmhoauth/feed)WikiDiscussions master Synced 4d ago

READMEChangelogDependenciesVersions (12)Used By (0)

tmhOAuth
========

[](#tmhoauth)

An OAuth library written in PHP by @themattharris.

**Disclaimer**: This project is a work in progress. Please use the issue tracker to report any enhancements or issues you encounter.

Goals
-----

[](#goals)

- Support OAuth 1.0A
- Use Authorisation headers instead of query string or POST parameters
- Allow uploading of images
- Provide enough information to assist with debugging

Dependencies
------------

[](#dependencies)

The library has been tested with PHP 5.3+ and relies on CURL and hash\_hmac. The vast majority of hosting providers include these libraries and run with PHP 5.1+.

The code makes use of hash\_hmac, which was introduced in PHP 5.1.2. If your version of PHP is lower than this you should ask your hosting provider for an update.

A note about security and SSL
-----------------------------

[](#a-note-about-security-and-ssl)

Version 0.60 hardened the security of the library and defaulted `curl_ssl_verifypeer` to `true`. As some hosting providers do not provide the most current certificate root file it is now included in this repository. If the version is out of date OR you prefer to download the certificate roots yourself, you can get them from:

If you are getting http code 0 responses inspect `$tmhOAuth->response['error']` to see what the problem is. usually code 0 means cacert.pem cannot be found, and it can be fixed by putting cacert.pem in the location tmhOAuth is looking for it (indicated in the `$tmhOAuth->response['error']` message), or by setting `$tmhOAuth->config['curl_cainfo']` and `$tmhOAuth->config['curl_capath']` values. setting `$tmhOAuth->config['use_ssl']` to false *IS NOT* the way to solve this problem.

Usage
-----

[](#usage)

This will be built out later but for the moment review the examples repository  for ways the library can be used. Each example contains instructions on how to use it.

For guidance on how to use [composer](http://getcomposer.org) to install tmhOAuth see the [tmhOAuthExamples](https://github.com/themattharris/tmhOAuthExamples) project.

Notes for users of previous versions
------------------------------------

[](#notes-for-users-of-previous-versions)

As of version 0.8.0 tmhUtilities is no longer included. If you found them useful open an issue against me and i'll create a new repository for them. version 0.8.0 also ignores `$tmhOAuth->config['v']`. if you used this before you should instead specify the API version in the path you pass to `$tmhOAuth->url`

Versions prior to 0.7.3 collapsed headers with the same value into one `$tmhOAuth->response['headers']` key. Since 0.7.3 headers with the same key will use an array to store their values.

If you previously used version 0.4 be aware the utility functions have now been broken into their own file. Before you use version 0.5+ in your app test locally to ensure your code doesn't need tmhUtilities included.

If you used custom HTTP request headers when they were defined as `'key: value'` strings you should now define them as `'key' => 'value'` pairs.

Change History
--------------

[](#change-history)

This is now published on the tmhOAuth wiki

Community
---------

[](#community)

License: Apache 2 (see [included LICENSE file](https://github.com/themattharris/tmhOAuth/blob/master/LICENSE))

Follow [@tmhOAuth](https://twitter.com/intent/follow?screen_name=tmhOAuth) to receive updates on releases, or ask for support Follow me on Twitter: [@themattharris](https://twitter.com/intent/follow?screen_name=themattharris)Check out the Twitter Developer Resources:

.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity8

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~80 days

Recently: every ~104 days

Total

9

Last Release

4300d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2c0a5c39fd0f88208763b5845e3b3729679d0f3a1f655f473019c13d17905007?d=identicon)[brianherbert](/maintainers/brianherbert)

---

Top Contributors

[![rpuch](https://avatars.githubusercontent.com/u/3244433?v=4)](https://github.com/rpuch "rpuch (6 commits)")[![brianherbert](https://avatars.githubusercontent.com/u/106068?v=4)](https://github.com/brianherbert "brianherbert (3 commits)")[![jvlGrab](https://avatars.githubusercontent.com/u/7873565?v=4)](https://github.com/jvlGrab "jvlGrab (3 commits)")[![shiki](https://avatars.githubusercontent.com/u/198826?v=4)](https://github.com/shiki "shiki (1 commits)")[![tantek](https://avatars.githubusercontent.com/u/46418?v=4)](https://github.com/tantek "tantek (1 commits)")

---

Tags

oauthtwitter

### Embed Badge

![Health badge](/badges/axispointalliance-tmhoauth/health.svg)

```
[![Health](https://phpackages.com/badges/axispointalliance-tmhoauth/health.svg)](https://phpackages.com/packages/axispointalliance-tmhoauth)
```

###  Alternatives

[hwi/oauth-bundle

Support for authenticating users using both OAuth1.0a and OAuth2 in Symfony.

2.4k21.5M69](/packages/hwi-oauth-bundle)[hybridauth/hybridauth

PHP Social Authentication Library

3.4k8.5M94](/packages/hybridauth-hybridauth)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[opauth/opauth

Multi-provider authentication framework for PHP

1.6k783.4k58](/packages/opauth-opauth)[themattharris/tmhoauth

An OAuth library written in PHP by @themattharris

8512.3M32](/packages/themattharris-tmhoauth)[socialconnect/auth

Social Connect Auth Component

568845.4k5](/packages/socialconnect-auth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
