0.0
The project is in a healthy, maintained state
A library for consuming and serving OpenID identities.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.0, >= 1.0.2
>= 13
~> 18.2, >= 18.2.1
~> 0.5, >= 0.5.2
~> 1.8
~> 1.37
~> 0.9, >= 0.9.37
~> 0.0, >= 0.0.10
>= 5, < 6

Runtime

~> 1.1, >= 1.1.4
 Project Readme

Ruby OpenID

Version Downloads Today CI Supported Build CI Unsupported Build CI Style Build CI Coverage Build CI Heads Build


Liberapay Patrons Sponsor Me on Github Polar Shield Donate to my FLOSS or refugee efforts at ko-fi.com Donate to my FLOSS or refugee efforts using Patreon

A Ruby library for verifying and serving OpenID identities.

Features

  • Easy to use API for verifying OpenID identites - OpenID::Consumer
  • Support for serving OpenID identites - OpenID::Server
  • Does not depend on underlying web framework
  • Supports multiple storage mechanisms (Filesystem, ActiveRecord, Memory)
  • Example code to help you get started, including:
    • Ruby on Rails based consumer and server
    • OpenIDLoginGenerator for quickly getting creating a rails app that uses OpenID for authentication
    • ActiveRecordOpenIDStore plugin
  • Comprehensive test suite
  • Supports both OpenID 1 and OpenID 2 transparently

Installation

Install the gem and add to the application's Gemfile by executing:

$ bundle add ruby-openid2

If bundler is not being used to manage dependencies, install the gem by executing:

$ gem install ruby-openid2

Note about the deprecation of stdlib gems logger, rexml, net-http, and uri

Versions 3.0.x were released with hard dependencies on the new stand alone gem replacements for the old stdlib gems.

This made it impossible for downstream libraries to make the choice to stay on the old stdlib gems.

As a result, starting with version 3.1.0, they will not be direct dependencies.

See this discussion for more information.

Getting Started

The best way to start is to look at the rails_openid example. You can run it with:

cd examples/rails_openid
script/server

If you are writing an OpenID Relying Party, a good place to start is: examples/rails_openid/app/controllers/consumer_controller.rb

And if you are writing an OpenID provider: examples/rails_openid/app/controllers/server_controller.rb

The library code is quite well documented, so don't be squeamish, and look at the library itself if there's anything you don't understand in the examples.

General Info

Primary Namespace OpenID
gem name ruby-openid2
code triage Open Source Helpers
documentation on Github.com, on rubydoc.info
expert support Get help on Codementor
... 💖 Liberapay Patrons Sponsor Me Follow Me on LinkedIn Find Me on WellFound: Find Me on CrunchBase My LinkTree Follow Me on Ruby.Social Tweet @ Peter 💻 🌏

Community

Discussion regarding the Ruby OpenID library and other JanRain OpenID libraries takes place on the OpenID mailing list.

Please join this list to discuss, ask implementation questions, report bugs, etc. Also check out the openid channel on the freenode IRC network.

🤝 Contributing

See CONTRIBUTING.md

🌈 Contributors

Contributors

Made with contributors-img.

🪇 Code of Conduct

Everyone interacting in this project's codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

📌 Versioning

This Library adheres to Semantic Versioning 2.0.0. Violations of this scheme should be reported as bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, a new version should be immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new major versions.

To get a better understanding of how SemVer is intended to work over a project's lifetime, read this article from the creator of SemVer:

As a result of this policy, you can (and should) specify a dependency on these libraries using the Pessimistic Version Constraint with two digits of precision.

For example:

spec.add_dependency("ruby-openid2", "~> 3.0")

See CHANGELOG.md for list of releases.

© Copyright

📄 License

Apache Software License. For more information see the LICENSE file.

🤑 One more thing

You made it to the bottom of the page! If you think maintaining this gem is more difficult than parsing a README, or if you think I've done a bang up job with this gem, please consider supporting my efforts via this link, or one of the others at the head.

Buy me a latte