Repository navigation
OpenSharing protocol: authenticate recipients and list granted shares - #101
Open
littlegrasscao wants to merge 5 commits into
Open
littlegrasscao wants to merge 5 commits into
littlegrasscao wants to merge 5 commits into
Conversation
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
September 22, 2026 16:42
b9e4153 to
90267a8
Compare
littlegrasscao
marked this pull request as ready for review
September 22, 2026 19:13
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
September 25, 2026 22:20
255fa27 to
991ec06
Compare
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
September 25, 2026 22:28
991ec06 to
893c4de
Compare
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
September 25, 2026 22:32
893c4de to
853ab2f
Compare
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
2 times, most recently
from
September 26, 2026 00:16
773af6e to
0907985
Compare
littlegrasscao
marked this pull request as draft
October 7, 2026 01:57
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
October 14, 2026 19:25
f833204 to
abbab4d
Compare
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
October 15, 2026 16:46
abbab4d to
a54b92b
Compare
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
October 15, 2026 18:13
a54b92b to
0030330
Compare
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
October 15, 2026 18:29
0030330 to
b74f407
Compare
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
October 15, 2026 23:34
b74f407 to
45bd183
Compare
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
2 times, most recently
from
October 15, 2026 23:54
5f2a2ae to
c50a436
Compare
littlegrasscao
changed the base branch from
server/split2/11a-provider-pagination
to
server/split2/11c-use-recipient
October 15, 2026 23:55
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
October 16, 2026 00:17
c50a436 to
83abc21
Compare
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
October 16, 2026 00:41
83abc21 to
85f37a0
Compare
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
October 19, 2026 17:12
85f37a0 to
6b727fa
Compare
zhu-tom
added this pull request to stack #116
October 19, 2026 19:06
littlegrasscao
force-pushed
the
server/split2/12-protocol-shares
branch
from
October 19, 2026 21:43
6b727fa to
a96b7c0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
RecipientTokenDecoratorauthenticates sharing protocol requests by recipient bearer token: only activated, unexpired token hashes are accepted, and anything else is 401 withWWW-Authenticate: BearerGET /shareslists one page of the shares the recipient holdsSELECTon, ordered by name, using the corePaginationfrom server: page the provider list APIs #117Pagination.protocolPagekeeps the protocol's meaning ofmaxResults=0: no items, with anextPageTokenthat resumes from the same position when any remainGET /shares/{share}returns{"share": ...}for a granted share; a share the recipient holds noSELECTon is reported as not foundProtocolShares,RecipientService.authenticate, and newSharePermissionStoreandRecipientStorequeries);OpenSharingProtocolServiceis a thin Armeria layer for the OpenSharing protocol's share, schema and table endpoints; the Delta Sharing table endpoints get their ownDeltaSharingProtocolService(Delta Sharing protocol: query a shared Delta table version #105)OpenSharingRecipientApi.mount(...)serves the protocol and activation endpoints with their own JSON converters and error handling, so a host can mount them next to its own services. It takes the host's public URL, which profile files point recipients to. The standalone server now mounts activation through itTesting
mvn clean install: 132 tests passedOpenSharingProtocolServiceTest: a recipient authenticates with its activated token and lists only granted shares; missing, invalid, and superseded tokens are 401; shares page with opaque tokens, including many shares across pages, andmaxResults=0returns no shares with a token that resumes from the startProtocolPaginationTest: a page size of 0 returns no items with a token to the same position, no token for an empty list, and other sizes page as provider lists do