Omschrijvende naam gezocht voor data zoals wachtwoord

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Jan terhuijzen

jan terhuijzen

02/07/2016 14:27:23
Quote Anchor link
Ik ben een authenticatie framework aan het maken. Hierbij heb ik wel wat afgekeken van het Symfony framework. Ik vond het toch wel leuk om eens iets zelf te proberen.
Mijn logica zit wel anders in elkaar dan die van Symfony, en ik ben er best blij mee tot nu toe, want het is heel flexibel en uitbreidbaar.
Mijn authenticatie framework ben ik zodanig aan het ontwerpen dat je niet alleen met een standaard login een gebruiker laat aanmelden. Ik ga er dus (net als Symfony) niet van uit dat een authenticatie alleen een gebruikersnaam/e-mail en wachtwoord nodig heeft.
Deze flexibiliteit is natuurlijk heel belangrijk.
Wat als de gebruiker van het framework een user wil laten inloggen met klantnummer en wachtwoord.
Of een productnaam en een licantiecode. (Ik noem maar iets)
Of alleen een API key. Of een eenmalige code uit een app.
Ik heb het dus zo ontworpen dat alle gegevens die nodig zijn bij de login, zijn gebundeld in een object.
Dit object noem ik gewoon een token en implementeert ook een TokenInterface. Denk aan Symfony.
Maar bij symfony wordt voor elk soort login een aparte token class gemaakt. Zoals een UsernamePasswordToken.
Ik wil gewoon gebruik maken van 1 token class.
Deze heeft dan een Identity object en een IdentityProof object.
Dat IdentityProof kan een wachtwoord zijn, een code, etc. En zowel Identity als IdentityProof kunnen in zich meerdere gegevens hebben.
IdentityProof kan bijvoorbeeld een wachtwoord en een activeringscode in zich hebben. (Bijvoorbeeld)
En Identity kan een klantnummer en email in zich hebben.
De gegevens kunnen gewoon worden toegevoegd aan de Identity en IdentityProof.
Maar IdentityProof is een beetje een rare naam.

De logica van het inloggen zelf wordt geschreven door de gebruiker van het framework door de Authentication class te extenden, of AuthenticatorInterface te implementeren. In die klasse kan dan de Identity en IdentityProof worden gelezen en zo kan alles verder gaan...

Weet iemand een betere naam voor IdentityProof?
En heeft iemand misschien opmerkingen over mijn class design?

Ik hoor het graag!
 
PHP hulp

PHP hulp

23/11/2024 01:54:50
 
Frank Nietbelangrijk

Frank Nietbelangrijk

02/07/2016 14:40:28
Quote Anchor link
Credentials?
 
Jan terhuijzen

jan terhuijzen

02/07/2016 14:51:39
Quote Anchor link
Frank Nietbelangrijk op 02/07/2016 14:40:28:
Credentials?


Hm, ik dacht dat Credentials gewoon alle login gegevens betekende, maar na wat beter zoeken op google vind ik dit inderdaad een goede omschrijvende naam.

Misschien nog op- of aanmerkingen over het class design?
Gewijzigd op 02/07/2016 14:51:59 door jan terhuijzen
 

02/07/2016 21:23:44
Quote Anchor link
Is een token niet iets dat je krijgt toegewezen nadat je bent geauthenticeerd?
http://stackoverflow.com/questions/1592534/what-is-token-based-authentication

Nederlands woord voor credentials: verificatiegegevens of referenties.
Gewijzigd op 02/07/2016 21:28:25 door
 
Jan terhuijzen

jan terhuijzen

03/07/2016 21:05:58
Quote Anchor link
Als ik Symfony goed heb begrepen (want daar kijk ik steeds naar), dan wordt er bij elke login een token gemaakt. Het systeem weet nu nog niet eens of de login correct was. Dat token bevat de logica die kan worden veranderd door de gebruiker van het framework. Want de gegevens die worden gebruikt bij het inloggen hangen er maar van af hoe de login gaat (bijv. wat er wordt gevraagd om in te loggen).
Zo is er bijvoorbeeld een UsernamePasswordToken en een RememberMeToken.
Beide zijn van het type AbstractToken of implementeren de TokenInterface. Voor een andere manier van inloggen zoals klantnummer en wachtwoord kan er bijvoorbeeld een CustomerNumberPasswordToken class worden geschreven.
Er wordt in elk geval altijd een token gemaakt, en daarna wordt gekeken of het token geldig is. Is het geldig, dan wordt de staat van het token op 'geldig' gezet en gaat alles verder.

En dan over token based authenticatie in het algemeen:

Bij elk soort login systeem voor het web is er eigenlijk sprake van een token based authenticatie. Ik bedoel hierbij niet meer het class design, maar hoe het werkt met de gegevens en logica zelf.

Token based authenticatie is dat je de gebruiker laat inloggen, bijvoorbeeld met een gebruikersnaam en wachtwoord.
Vervolgens ontvangt de gebruiker een token. Dit token is een beperkte tijd geldig.
Het token kan daarna steeds door de gebruiker weer worden aangeboden om toegang te krijgen tot dingen waar autorisatie voor is vereist.

Het token is iets (een soort bewijs) dat de gebruiker moet krijgen van de server, en bij zich moet dragen.
Dit is dus eigenlijk altijd een sessie(-cookie). Dat de gebruiker dus in zijn browser binnen krijgt.

Dus eigenlijk is inloggen op het web altijd token based authenticatie? Want er wordt een bewijs gemaakt en opgeslagen in een session.
En uiteindelijk is die session er gewoon omdat de gebruiker anders bij elke request weer de login gegevens (gebruikersnaam/wachtwoord) zelf moet sturen naar de server.
Gewijzigd op 03/07/2016 21:09:00 door jan terhuijzen
 
Ward van der Put
Moderator

Ward van der Put

04/07/2016 07:17:50
Quote Anchor link
Jan terhuijzen op 03/07/2016 21:05:58:
Dus eigenlijk is inloggen op het web altijd token based authenticatie? Want er wordt een bewijs gemaakt en opgeslagen in een session.

Dan is het meer een factor, zoals in two-factor authentication (2FA) en multi-factor authentication (MFA).

Jan terhuijzen op 03/07/2016 21:05:58:
Zo is er bijvoorbeeld een UsernamePasswordToken en een RememberMeToken.
Beide zijn van het type AbstractToken of implementeren de TokenInterface.

Alleen dit lijken me al ruim voldoende redenen om token te (blijven) gebruiken.
Gewijzigd op 04/07/2016 07:18:12 door Ward van der Put
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.