Twitter: (3 possible) * only available when Twitter API Key/Secret are passed in, otherwise these points are split between GitHub and Keybase.Mobile/Desktop Device (limit 3): +4 each (12 possible).Reddit/Hackernews: +3 each (6 possible).DNS Website (limit 2): +10 each (20 possible).Generic Website Proof (limit 2): +5 each (10 possible). ![]() This is a list of all the proofs that Keybase ID looks at when calculating a user's score, and the scoring scale associated with each one. Another example is how DNS verified ownership of websites proves access to DNS records, and a generic website proof using a hosted text file simply proves ability to upload files. An example would be how Twitter and GitHub typically require verified a phone number or email when signing up, whereas Reddit and Hackernews typically do not. Proofs that require "more involved" verification than others, earn more points than those that are "easier" to prove. How is the user's identity score calculated?Ī user's score is calculated using a variety of factors based off the proofs associated with their Keybase account. More information and examples can be found in the README of that repo/package. The Keybase Passport strategy can be found on GitHub and NPM. Passport Keybase IDĪn Express Passport middleware Strategy has been made, which depends on this repo/package. Keybase has done great work laying the foundation for cryptographically proving ownership of various online identities, now Keybase ID is working to standardize what ownership of these identities means in an automated manner.Ī blog post explaining some of these ideas in more detail can be found here. Emails and phones should be for communication, not identification or authentication. I think something needs to be done to work towards a new solution. The email and phone systems have their own flaws, and have not done a great job so far in stopping trolls and bots in user signups, even though that is part of what they are used for. authenticate(TEST_MESSAGE, 'test', 'rickjerrity')Įmail addresses and phone numbers have become some of the most popular means of authentication and identifications on the internet, both of which use communicate using protocols that were not designed for those purposes. kXR7VktZdyH7rvq v5weRa0zkFyr6YL d3W8OHdrkfXresG pb2HM2IGZNEwDU1 TcXTRZKvzcY716H FTkrkpBY5fnK0B5 Ugyluzvw5afLnCr Bn9tNpmWQPxck7W ymTvx2SW1AIC4Wh 0rRHwAGWMBthMmo QxPE8S8cpgDFHUX EJkOeq79JWwq4bM PWbWAydDkmK. * True if the signed `message` content matches `verifyTxt`, or false otherwiseĪsync verifyMessage(message, verifyTxt) Example const KeybaseId = require('keybase-id') * Verifies a user signed a message with certain text, then checks that user meets the `minKbScore` Your custom Twitter API Secret, used for checking age and follower count of Twitter accounts. Your custom Twitter API Key, used for checking age and follower count of Twitter accounts. The minimum KB Score a user must have to pass authentication. The relative or absolute path to a built Keybase Core client executable. The authenticate method will return true if the specified Keybase username has signed the specified message exactly, and their Keybase Score is greater than or equal to minKbScore, otherwise it will return false. After initializing an instance of the KeybaseId class, you will typically call the authenticate method, passing the signed message, the original message it is being verified against, and the Keybase username being verified. All of these parameters, including the required keybasePath, can be specified as environment variables also, without having to be passed in as options to the KeybaseId class. The Keybase ID library provides a KeybaseId class which has a mandatory keybasePath parameter and optional minKbScore, twitterApiKey, and twitterApiSecret parameters. ![]() ![]() You should be able to run the following command in your command line, and see a version/commit number displayed:Īfter the Keybase Core client has been installed, you may now install the npm package using the command below: Once you have followed the instructions, you should have a keybase executable built, which you will need to pass as an argument into Keybase ID. Keybase ID requires the Keybase Core cryptography client be installed. Keybase ID uses Keybase's unique Saltpack messaging scheme to authenticate and verify a Keybase user is who they claim to be, then uses Keybase, GitHub, and Twitter APIs (when provided) to further validate a user's identity, returning a calculated score of the validity of a user's "identity".Įxpress Example using PassportJS Strategy Keybase ID provides an easy, secure way to identify and authenticate Keybase users that are signing up or logging into your application. Keybase ID is an identification and authentication library that relies on the Keybase Core cryptography client.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |