Bitauth
BitAuth is a way to do secure, passwordless authentication proposed by Bitpay using the same elliptic-curve cryptography as Bitcoin
Installation
Add this line to your application's Gemfile:
gem 'bitauth'
And then execute:
$ bundle
Or install it yourself as:
$ gem install bitauth
Usage
To Generate a new Key pair you can just instantiate a new BitAuth instance with no parameters:
require 'bitauth'
bitauth = BitAuth.new
bitauth.sin
bitauth.public_key
bitauth.private_key
To sign a message after that you can just call sign
:
bitauth = BitAuth.new private_key: "HEX_PRIVATE_KEY"
signature = bitauth.sign("data")
You can then verify the message using just the public key:
bitauth = BitAuth.new public_key: "HEX_PUBLIC_KEY"
bitauth.verify("data", "signature")
Example
require 'bitauth'
bitauth = BitAuth.new
data = '{"id":10, "message": "Demo Text"}'
signature = bitauth.sign(data)
if bitauth.verify(data, signature)
puts "Everything checks out"
end
Contributing
- Fork it ( https://github.com/gmanricks/BitAuth/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request