RSS sécurisé


#1

Bonjour,

Sur mon site, j’ai des discussions accessibles uniquement aux membres
(enregistrés et loggés) et j’aimerai savoir s’il y a un moyen de gérer
du rss sécurisé avec rails?

Merci
Nicolas


#2

2009/2/5 Tranquiliste removed_email_address@domain.invalid

Bonjour,

Sur mon site, j’ai des discussions accessibles uniquement aux membres
(enregistrés et loggés) et j’aimerai savoir s’il y a un moyen de gérer
du rss sécurisé avec rails?

Si par rss sécurisé tu veux dire privé, le moyen utilisé par la plupart
des
sites (dont github) pour privatiser des rss est un hash par flux.
L’adresse
ainsi générée avec le hash est connue des seuls interessés.


http://fabien.jakimowicz.com


#3

On Feb 5, 2:35 pm, Fabien J. removed_email_address@domain.invalid wrote:

Si par rss sécurisé tu veux dire privé, le moyen utilisé par la plupart des
sites (dont github) pour privatiser des rss est un hash par flux. L’adresse
ainsi générée avec le hash est connue des seuls interessés.

Peux tu préciser? Je ne suis pas sur de bien comprendre comment
çamarche?

Merci


#4

2009/2/5 Tranquiliste removed_email_address@domain.invalid

Sur mon site, j’ai des discussions accessibles uniquement aux membres
marche?

En gros, tu vas avoir une chaine de caractères (hash) générée de façon
unique pour chaque utilisateur ou resource que tu souhaites dévoiler via
RSS
: 2993b6b548000a80989a20549e7558a5 par exemple.
Cette chaine, tu la passes en argument d’une url :
http://monapp.com/rss/2993b6b548000a80989a20549e7558a5

Et dans ton controlleur associé, tu vas charger les données associées Ã
ce
hash puis rendre la vue. Si c’est un flux qui est directement lié a
l’utilisateur, tu peux la stocker dans la table user et charger l’user
avec
le hash.
Si c’est lié à un autre modèle, stocke là dans la table de cet autre
modèle.
Si c’est plus complexe et que tu as plusieurs flux privés pointant sur
diverses resources, tu peux utiliser une relation polymorphique (je
t’invite
à la doc rails pour ce point) pour lier tes resources à un modèle
(private_url par exemple) représentant le hash. Tu charges alors la
bonne
instance (@private_url = PrivateUrl.find_by_value(params[:hash])) et tu
peux
alors accéder à la resource sur laquelle pointe la relation
polymorphique
(@private_url.resource_to_serve).

Pour transmettre les url aux bonnes personnes, il te faut juste ajouter
les
liens (http://monapp.com/rss/2993b6b548000a80989a20549e7558a5) aux bons
endroits dans ton appli et accessible aux bonnes personnes.

J’aurais du le préciser avant, mais il est évident que l’accès aux flux
rss
(http://monapp.com/rss/2993b6b548000a80989a20549e7558a5) se fait sans
aucune
authentification : les applications de lecture de flux rss ne pouvant
s’authentifier. Le côté privée/sécurisé est préservé par la divulgation
des
urls aux personnes pouvant y accéder.

Enfin, pour plus de sécurité, tu peux aussi ajouter un lien permettant
aux
personnes accédant a un flux de regénérer un hash si jamais l’adresse Ã
été
rendue publique.


http://fabien.jakimowicz.com


#5

Le 5 févr. 09 à 14:35, Fabien J. a écrit :

plupart des sites (dont github) pour privatiser des rss est un hash
par flux. L’adresse ainsi générée avec le hash est connue des seuls
interessés.

Et un http simple auth, ça ne fonctionnerait pas ?


Nicolas C.
http://www.bounga.org
http://www.cavigneaux.net


#6

Le 5 février 2009 14:53, Nicolas :

Si par rss sécurisé tu veux dire privé, le moyen utilisé par la
plupart des sites (dont github) pour privatiser des rss est un
hash par flux. L’adresse ainsi générée avec le hash est connue
des seuls interessés.

Peux tu préciser? Je ne suis pas sur de bien comprendre
comment ça marche?

C’est comme les liens d’activation, tu passes par une URL
dont une partie est difficile à deviner, typiquement on passe par
une fonction de confusion style empreinte MD5 b6da868f4823c…

-- Jean-François.


http://twitter.com/underflow_


#7

2009/2/5 Fabien J. removed_email_address@domain.invalid:

(enregistrés et loggés) et j’aimerai savoir s’il y a un moyen de gérer
dans des sites qui font de l’aggrégation comme google reader par
exemple.

De plus, je ne suis pas sur que tous les clients supportent ce passage
d’argument dans ou en dehors de l’url …

Google Reader supporte pas l’authentification HTTP (Netvibes si.).

Donc, la meilleure solution, c’est l’hash dans l’URL du flux RSS :slight_smile:


#8

Hello,

Merci pour ces renseignements


#9

2009/2/5 Nicolas C. removed_email_address@domain.invalid:

Si par rss sécurisé tu veux dire privé, le moyen utilisé par la plupart des
sites (dont github) pour privatiser des rss est un hash par flux. L’adresse
ainsi générée avec le hash est connue des seuls interessés.

Et un http simple auth, ça ne fonctionnerait pas ?

Ca peut, mais cela oblige à indiquer le login/pass en clair dans l’url
dans des sites qui font de l’aggrégation comme google reader par
exemple.

De plus, je ne suis pas sur que tous les clients supportent ce passage
d’argument dans ou en dehors de l’url …


http://fabien.jakimowicz.com