Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ASP]Users inloggen op andere site zonder zichtbaar paswoord

Pagina: 1
Acties:

  • Erycius
  • Registratie: Januari 2003
  • Laatst online: 09-03 00:32

Erycius

I came on Eileen.

Topicstarter
Situatieschets: we hebben hier een website (recente IIS server waarop we enkele ASP toepassingen draaien) waar onze users op kunnen inloggen dmv Shibboleth, en we hebben dus een vrij goeie loginarchitectuur.
Nu hebben wij een heleboel contracten met andere sites waar onze users toegang krijgen tot beperkte informatie. Sommige van die sites eisen dat die users gewoon via ons IP adres naar de site surfen, wat geen probleem geeft voor mij, we hebben zelfs een proxyserver opgezet waarop onze users kunnen inloggen om zo van thuis uit op de beveiligde delen van die sites te raken.

Enkele sites echter geven ons gewoon een login en paswoord, met de mededeling: "enkel jullie users mogen dat paswoord gebruiken om op onze beveiligde site te komen" Dat is natuurlijk om problemen vragen vanwege die organisaties, maar toch zou ik hieraan willen gevolg geven, als dat al mogelijk is.

Is er een manier om er voor te zorgen dat users die op onze site geauthenticeerd zijn te laten inloggen op externe sites zonder dat ze het paswoord kunnen achterhalen?

Uiteraard werkt
HTML:
1
2
3
4
5
<form id="form" name="form" method="post" action="www.externewebsite.com/login.php">
  <input type="hidden" name="paswoord" value="eenpaswoord" />
  <input type="hidden" name="login" value="eenlogin" />
  <input type="submit" name="Submit" value="Naar Externe Site" />
</form>

niet, een simpele "view source" en de user heeft het paswoord in handen die hij aan iemand anders zou kunnen geven.

Ik zou denken server-side in te loggen, maar dan is de sessie op onze webserver ipv op de browser van de users, niet?

Bloemen scheiden het gras in de tuin.


  • Johnny
  • Registratie: December 2001
  • Laatst online: 20-11 15:26

Johnny

ondergewaardeerde internetguru

dat de sessie op jouw server is in plaats van de client hoeft geen probleem te zijn als de andere website toestaat dat de sessie-ID naar een andere computer wordt overgedragen.

Aan de inhoud van de bovenstaande tekst kunnen geen rechten worden ontleend, tenzij dit expliciet in dit bericht is verwoord.


  • dominic
  • Registratie: Juli 2000
  • Laatst online: 02-11 11:36

dominic

will code for food

Spreek met die partijen het volgende af:
- Jouw server gaat met user_id en password een token ophalen bij de server van de externe partij
- Deze request kan alleen plaatsvinden vanaf jullie server ip
- Het token pomp je door naar de client
- De client logt in op de externe site dmv het token
- Na een succesvolle inlogpoging zorgt externe partij ervoor dat het token vervalt

Dit is de enige manier om het netjes te doen zonder al te veel complicaties.

Een andere mogelijkheid is dat alle partijen één gezamelijke session server of authenticatieserver benoemen, maar dit is technisch een wat grotere uitdaging.

Download my music on SoundCloud


  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 22:35
Wat ook nog zou kunnen: een proxy server.

Jouw eigen gebruikers gebruiken je eigen site. Als ze moeten werken met een andere site wordt het request door de proxyserver doorgestuurd van jullie site naar die andere sites. Die proxy verzorgt de login en geeft de resultaten terug aan de gebruiker van je eigen site.

De proxyserver fungeert als een webbrowser die gebruik maakt van de website van die externe partij. De proxyserver houdt ook eventuele cookies bij zodat de externe partij eigenlijk niets merkt. Jullie kunnen zelf bepalen wie via deze proxy mag werken.

Dit is ook geen ideale situatie omdat dan alle requests voor de site van de externe partij via je eigen server lopen. Echter de externe partij hoeft niets te wijzigen.

[ Voor 3% gewijzigd door Kalentum op 13-02-2008 16:33 ]


  • paulh
  • Registratie: Juli 1999
  • Laatst online: 10-11 10:50
Plaats een een encrypted cookie (met username en wachtwoord). En gebruik die om te authenticeren. Zo werkt het meestal bij SSO.

[ZwareMetalen.com] - [Kom in aktie tegen de CO2 maffia]


  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Cookies werken alleen als de andere website op hetzelfde domein draait als de ander. Persoonlijk ben ik namelijk erg bij dat Microsoft niet de cookies van Google kan uitlezen.

De meest gebruikte manier kan een centrale webservice welke de gebruikers profielen bevat. Alle aangesloten websites authenticeren een gebruiker bij deze webservice. De webservice zal ook een security token moeten terug geven. Deze token zou je aan een andere website kunnen doorgeven in combinatie met een MAC hash. Ofwel je maakt een hash van het security token met als key bijvoorbeeld de username.

Zelf hebben we recentelijk een andere methode ontwikkelt. Elke aangesloten website heeft namelijk een vooraf gedefineerde webservice (autologon.asmx in ons geval). Via deze webservice wordt het UserID doorgegeven. (de webservice verwacht een client X.509 certificaat als identificatie zodat niet elke idioot de webservice zou kunnen aanroepen). De webservice geeft vervolgens een eigen security token terug. Vervolgens wordt de gebruiker geredirect naar autologon.aspx met als argument het userid en security token. autologon.aspx controlleert of het secruity token nog steeds geldig is (15 minuten in ons geval) en of het userid bij de token hoort. Als dit correct is vind een automatisch login plaats op basis van het userid, de juiste cookies worden gezet en vervolgens wordt de gebruiker naar de homepage geredirect.

Deze methodes werken alleen als je van te voren weer naar welke website je de gebruiker gaat sturen (vanuit het menu (autoredirect.asp?url=xxx) of via een andere redirect). Deze methode werkt dus niet als de gebruiker zelf handmatig de url van de website intikt.

Echter cross sites logins zijn niet mogelijk.

If it isn't broken, fix it until it is..

Pagina: 1