Comments (5)
My impression was that the API/protocol is to be over Https, but the entity name need not be the tent server.
For example, my Tent identity could be http://alexw.co/ and with my Link: Http header I'd delegate one or more Tent server(s) to handle my identity. Link: https://tent.some-provider.tld/; rel="Tent". And it's this service that has the absolutly defined Uri paths and requirement of Https.
from tent.io.
Yes, you are right. My main point of concern here is the discoverability of Tent services, and how it's validated that a given Tent profile is 'allowed' to be used on an entity. That is, I can direct to any Tent server from my site. That means I can go ahead and say 'That is my tent server'. The opposite, however is not so trivial: the Tent profile also needs to have a way of saying 'yes, i am a valid tent for this site' so that I can't link to somebody else's Tent and cause havoc.
Therefore, the entity field has to be matched up with the origin of the Link: header. Protocol agnosticism (i.e. skipping the schema part) would help sites that use a HTTP/HTTPS dual-stack.
It boils down to the question whether the protocol is a part of the identity or merely a means of transport.
from tent.io.
You wouldn't go from talking to a Tent server to believing it's the authoritative server for an identity without checking the identity first.
You actually wouldn't be talking to a Tent server about an entity without first being directed there by the identity's Link: header or tag, because that's where you discover which server to attempt to use.
from tent.io.
@jonasschneider The entity identifier can be a HTTP or HTTPS URL including a path. We consider https://example.com
and http://example.com
to be completely different (different ports and protocols). Discovery handles validating that you are following who you think you are following:
- My app tells my server to follow
http://jonasschneider.com/foo
- My server performs discovery on
http://jonasschneider.com/foo
and finds a Link header pointing tohttps://tent.jonasschneider.com/profile
which serves up a profile that specifies anentity
ofhttp://jonasschneider.com
. - Since they don't match, the server performs discovery on
http://jonasschneider.com
which also serves a Link header pointing to the same server, which confirms that the entity identifier is valid. - My server tells your server that it wants to follow you, and the same process is executed on your server to validate my entity identifier.
Thus, you can have as many URLs as you want pointing links at your Tent server, and you'll always end up communicating using your canonical Tent entity identifier.
Let me know if you have further questions.
from tent.io.
Awesome. That's just what I had in mind.
from tent.io.
Related Issues (20)
- Idea: allow profiles to be requested on the new_post endpoint
- How to handle attachments with identical digests on a single post
- What Content-Type to return on the attachment endpoint
- Allow the attachment endpoint to redirect to a CDN location
- Why is the attachment endpoint needed?
- Relationship post type fragment
- Posts feed pagination issue
- Use of Cache-Control can be difficult in browsers HOT 2
- Allow a "types" parameter on the mentions endpoint
- Proposal: rename app.id to app.post
- Proposal: omit urls for not supported endpoints in meta post
- Provide a Status Update HOT 3
- Notification Status
- Will tor connectivity be enforced? HOT 3
- Definition of profile sturcture HOT 2
- Finish documentation HOT 2
- Meta posts' profile.website having a duplicate option or as an array. HOT 1
- Transaction post type HOT 1
- Community Issues: How to address the barrier to entry with prospective users? HOT 10
- tent is dead! What's the reason? HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tent.io.