mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-12-22 16:35:52 -05:00
Apply suggestions from code review
Co-authored-by: dluvian <133484344+dluvian@users.noreply.github.com>
This commit is contained in:
parent
07074d8ba2
commit
4842f8612f
30
100.md
30
100.md
|
@ -46,7 +46,7 @@ Create the Intent using the **nostrsigner** scheme:
|
||||||
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("nostrsigner:$content"))
|
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("nostrsigner:$content"))
|
||||||
```
|
```
|
||||||
|
|
||||||
* Set the Signer package name
|
Set the Signer package name:
|
||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
intent.`package` = "com.example.signer"
|
intent.`package` = "com.example.signer"
|
||||||
|
@ -61,14 +61,14 @@ intent.`package` = "com.example.signer"
|
||||||
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("nostrsigner:"))
|
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("nostrsigner:"))
|
||||||
intent.`package` = "com.example.signer"
|
intent.`package` = "com.example.signer"
|
||||||
intent.putExtra("type", "get_public_key")
|
intent.putExtra("type", "get_public_key")
|
||||||
// You can send some default permissions for the user authorize for ever
|
// You can send some default permissions for the user to authorize for ever
|
||||||
val permissions = listOf(
|
val permissions = listOf(
|
||||||
Permission(
|
Permission(
|
||||||
"sign_event",
|
type = "sign_event", // Is it type?
|
||||||
22242
|
kind = 22242 // Is it kind?
|
||||||
),
|
),
|
||||||
Permission(
|
Permission(
|
||||||
"nip44_decrypt"
|
type = "nip44_decrypt"
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
intent.putExtra("permissions", permissions.toJson())
|
intent.putExtra("permissions", permissions.toJson())
|
||||||
|
@ -90,10 +90,10 @@ intent.`package` = "com.example.signer"
|
||||||
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("nostrsigner:$eventJson"))
|
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("nostrsigner:$eventJson"))
|
||||||
intent.`package` = "com.example.signer"
|
intent.`package` = "com.example.signer"
|
||||||
intent.putExtra("type", "sign_event")
|
intent.putExtra("type", "sign_event")
|
||||||
// to control the result in your application in case you are not waiting the result before sending another intent
|
// To handle results when not waiting between intents
|
||||||
intent.putExtra("id", event.id)
|
intent.putExtra("id", event.id)
|
||||||
// Send the current logged in user npub
|
// Send the current logged in user npub
|
||||||
intent.putExtra("current_user", account.keyPair.pubKey.toNpub())
|
intent.putExtra("current_user", npub)
|
||||||
|
|
||||||
context.startActivity(intent)
|
context.startActivity(intent)
|
||||||
```
|
```
|
||||||
|
@ -102,7 +102,7 @@ intent.`package` = "com.example.signer"
|
||||||
|
|
||||||
```kotlin
|
```kotlin
|
||||||
val signature = intent.data?.getStringExtra("signature")
|
val signature = intent.data?.getStringExtra("signature")
|
||||||
// the id you sent
|
// The id you sent
|
||||||
val id = intent.data?.getStringExtra("id")
|
val id = intent.data?.getStringExtra("id")
|
||||||
val signedEventJson = intent.data?.getStringExtra("event")
|
val signedEventJson = intent.data?.getStringExtra("event")
|
||||||
```
|
```
|
||||||
|
@ -233,13 +233,13 @@ intent.`package` = "com.example.signer"
|
||||||
|
|
||||||
To get the result back from Signer Application you should use contentResolver.query in Kotlin. If you are using another framework check the documentation of your framework or a third party library to get the result.
|
To get the result back from Signer Application you should use contentResolver.query in Kotlin. If you are using another framework check the documentation of your framework or a third party library to get the result.
|
||||||
|
|
||||||
If the user did not check the remember my choice option, the npub is not in Signer Application or the signer type is not recognized the contentResolver will return null
|
If the user did not check the "remember my choice" option, the npub is not in Signer Application or the signer type is not recognized the `contentResolver` will return null
|
||||||
|
|
||||||
For the SIGN_EVENT type Signer Application returns two columns "signature" and "event". The column event is the signed event json
|
For the SIGN_EVENT type Signer Application returns two columns "signature" and "event". The column event is the signed event json
|
||||||
|
|
||||||
For the other types Signer Application returns the column "signature"
|
For the other types Signer Application returns the column "signature"
|
||||||
|
|
||||||
If the user chose to always reject the event signer application will return the column "rejected" and you should not open signer application
|
If the user chose to always reject the event, signer application will return the column "rejected" and you should not open signer application
|
||||||
|
|
||||||
### Methods
|
### Methods
|
||||||
|
|
||||||
|
@ -416,15 +416,15 @@ If the user chose to always reject the event signer application will return the
|
||||||
|
|
||||||
# Usage for Web Applications
|
# Usage for Web Applications
|
||||||
|
|
||||||
Since web applications can't receive a result from the intent you should add a modal to paste the signature or the event json or create a callback url.
|
Since web applications can't receive a result from the intent, you should add a modal to paste the signature or the event json or create a callback url.
|
||||||
|
|
||||||
If you send the callback url parameter Signer Application will send the result to the url.
|
If you send the callback url parameter, Signer Application will send the result to the url.
|
||||||
|
|
||||||
If you don't send a callback url Signer Application will copy the result to the clipboard.
|
If you don't send a callback url, Signer Application will copy the result to the clipboard.
|
||||||
|
|
||||||
You can configure the returnType to be **signature** or **event**.
|
You can configure the `returnType` to be **signature** or **event**.
|
||||||
|
|
||||||
Android intents and browsers url has limitations, so if you are using the returnType of **event** consider using the parameter **compressionType=gzip** that will return "Signer1" + Base 64 gzip encoded event json
|
Android intents and browser urls have limitations, so if you are using the `returnType` of **event** consider using the parameter **compressionType=gzip** that will return "Signer1" + Base64 gzip encoded event json
|
||||||
|
|
||||||
## Methods
|
## Methods
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user