Proof of Concept for registration/login to website using ssh keys
Steps
Registration
user selects ssh public key to upload
username populated from public key
Login
user select ssh private key for signing
note: if key requires a passphrase, a prompt is displayed to enter the passphrase. This should really be a modal dialog with a password field so the passphrase is hidden
use inputs email address as username
server is contacted to obtain a random string
random string is signed with private key
username, original message and signed message is returned to server
server validates signed message using stored public key
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.