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

SEP-10 Client Attribution Support (from the SDF) #24

Closed
JakeUrban opened this issue Jul 27, 2021 · 2 comments
Closed

SEP-10 Client Attribution Support (from the SDF) #24

JakeUrban opened this issue Jul 27, 2021 · 2 comments

Comments

@JakeUrban
Copy link

SEP-10 Client Attribution Support

A web service requiring SEP-10 authentication may want to attribute each HTTP request made to it to a specific client software. For example, a web service may want to offer reduced fees for the users of a specific client.

SEP-10 client attribution, detailed in the protocol specification, adds support for this capability.

Changes

The following changes are required to support this functionality:

  • Building the challenge transaction:
    • Add client_domain (clientDomain) and client_signing_key (clientSigningKey) optional parameters
    • Adding a ManageData operation with 'client_domain' as the key and the client_signing_key parameter value as the value if these parameters are passed
  • Verifying the challenge transaction:
    • Checking for a ManageData op with 'client_domain' as the key and checking for a signature from the operation's source account if present
    • Allowing the source of the 'client_domain' ManageData operation to not equal the server's account

For reference, the Python SDK has implemented the above changes.

Please implement and release a new version of the SDK with these changes, thank you!

@JakeUrban
Copy link
Author

For tracking: stellar/go#3780 @leighmcculloch

@christian-rogobete
Copy link
Contributor

done in release 1.1.9

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

2 participants