yahoo / TDOAuth

A BSD-licensed single-header-single-source OAuth1 implementation.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Maintaining TDOAuth

adamkaplan opened this issue · comments

commented

This pod is a great resource. It's incredibly simple with a minimalistic design. Thank you for providing and maintaining it over the past 8 years.

It has become a critical component of some popular Yahoo iOS apps, such as Yahoo Finance. Yes, we know about OAuth 2.0... however OAuth 1.0a is still very well suited for client (not user) identification purposes and abuse mitigation in many situations.

The repository has not been moved to "archive" mode, indicating that support is becoming less likely. I am proposing two potential paths forward for this project:

  1. Transfer ownership to the Yahoo Open Source Github organization, where a team of seasoned iOS engineers will actively look after and love the project for the foreseeable future.
  2. Add 2-3 agreeable Yahoo maintainers to the project to ensure ongoing stewardship.

Some thing we'd like to do:

  • Full Swift compatibility (nullability, method names, etc)
  • Update unit tests to something modern like Quick/Nimble
  • Performance optimizations
  • Fix some edge cases non-RFC-compliant signatures are generated (i.e. websockets)
  • Add a license to the next release (MIT?)

There is an elegance to OAuth 1.0 for client identification. OAuth 2.0 requires an independent token exchange service to provide the same functionality. For this reason, I see a future for this simple OAuth 1.0 request signer.

Glad to hear this is still useful.

Certainly I have been happily accepting patches for the last 8 years, but I am no expert with OAuth anymore and would be fine with transferring it to Yahoo.

LMK when you want me to do this.

commented

Great! I reached out to my org owner and we'll update shortly.

Transfer complete. This is great news for the project, and I offer my thanks.

commented

Thanks @mxcl!

Closing notes from the legal team:

  • MIT license was mentioned- it’ll stay BSD
  • The test file didn’t have a license comment, so if we add more tests it’ll be in a fresh licensed file.