Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update challenge transaction helpers for SEP-10 v1.3.0 #33

Open
leighmcculloch opened this issue Jan 30, 2020 · 0 comments
Open

Update challenge transaction helpers for SEP-10 v1.3.0 #33

leighmcculloch opened this issue Jan 30, 2020 · 0 comments

Comments

@leighmcculloch
Copy link

Summary

A change has been released in SEP-10 Web Authentication v1.3.0 that adds support for:

  1. Accounts not using the master key as a signer.
  2. Accounts multiple signers.

SEP-10 v1.3.0 Change: stellar/stellar-protocol@ea0d7ed

The new functionality requires changes to any SDK implementing challenge verification.

Details and Reference Implementations

The Stellar Go SDK is the first SDK we've implemented this new functionality and it can be used as a reference. It has implemented the following changes and similar changes may be required in this SDK:

  • Deprecated the existing verification function (VerifyChallengeTx).
  • Added new functions to:
    • Read the client account ID out of a challenge transaction without verifying client signatures, so that servers can lookup the signers of the account before verifying. (ReadChallengeTx)
    • Verify signatures on a challenge transaction meet a threshold. (VerifyChallengeTxThreshold)
    • Verify signatures on a challenge transaction match signers. (VerifyChallengeTxSigners)
  • Increased the timeout on the challenge transaction from 5 minutes to 15 minutes.

Go SDK Change: stellar/go@8ff0848

An example of a SEP-10 server using the v1.3.0 verification process is implemented here:
https://github.com/stellar/go/tree/master/exp/services/webauth

If anyone has any questions feel free to join us in #dev-discussion in stellar.public Keybase.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant