Thanks for the writeup!
This is a really good point. The me parameter in the request is really more of a hint, since the authorization server will ultimately return the final me value at the end of the flow. The client just has to verify that it's on the same domain that was used to discover the authorization endpoint.
I implemented an IndieAuth server into my website quite a while ago, so I checked the code there. It turns out I had some code that verified the me parameter was in the request, but it actually completely ignores that value after that. Since my site is a single-user site, it's always going to return https://aaronparecki.com/ as the profile URL at the end.
I'm inclined to make a change to the spec that says clients SHOULD include the me in the authorization request, but that the authorization server should not require the parameter. I do like that it helps IndieAuth be more in line with OAuth 2.0.
@aaronpk I think working on this needs to be my goal for IndieWeb Summit day 2.
@aaronpk I think working on this needs to be my goal for IndieWeb Summit day 2.
@hjalm Unfortunately GitHub auth is really the only way to get OwnYourGram to work right now, so you did it correctly. We have plans to significantly improve this.
I don't think this really solves the problem, though. If a server implementation prefers content over summary (which it should), with this example the context of the book title will be lost unless the server is updated to understand read-of.
The summary property is intended to be used for fallback for when the server doesn't recognize the other properties of the request. Most Micropub servers understand content and photo, but this is a great example of an interesting content type that is likely not supported by most servers yet. In this case, summary is the correct place for this fallback content. The content property would be misleading since normally the content property contains user-entered text. For example, if the user enters a note about why they wanted to read this, that could be included in the content property.
