Let's say:
Share endpoint /share?content=URL
Content endpoint /content/ID
If personb.com knows that the client shares from persona.com/share, it can craft its share links as (excuse the escaping)
<a href="https://persona.com/share?content=http://personb.com/content/5</a>
When person A follows the link, they get sent to persona.com, authenticated using their cookie, and then the persona.com web service follows the content URL to fetch the content to share.This seems to address your core use case as well as your stated kicker (you can't craft a request to get person A to reshare something they don't want to since persona.com/share can auth person A and confirm the share).
This is all essential how Facebook, G+, Twitter sharing all work, except you don't pass to your content site the share endpoint because it uses canonical endpoints built in.