Laravel 5.4 api en web mixen

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 07-10 19:27

Matis

Rubber Rocket

Topicstarter
Beste PRGers,

Op dit moment heb ik voor een inhouse tool een API-only applicatie ontwikkeld in Laravel 5.4.
Vanuit een stand-alone Desktop-applicatie worden alle requests naar de API gestuurd.

Gebruikers authenticeren zich middels LDAP. Wanneer ze zich voor de eerste keer succesvol authenticeren, worden een aantal attributen in de database geladen en wordt er ook een api_token gegenereerd voor de gebruiker. Alle API-calls gaan door de auth:api middleware.
Middels rollen kunnen gebruikers bepaalde zaken binnen de API wel of niet doen.
Dit werkt allemaal naar behoren.

Nu is het verzoek gekomen om ook een web-app (binnen hetzelfde project) te maken met dezelfde "functionaliteit" als de stand-alone Desktop-applicatie.

Ik zit op dit moment in dubio:
  1. Een web-app ontwikkelen die geen weet heeft van de API en alles zelf regelt.
  2. Een web-app maken die alle acties richting de server asynchroon via API-calls doet.
De eerste oplossing lijkt mij de meest veilige, maar ook kostbare, want alle Controllers moeten opnieuw worden geschreven (denk ik).

Aangezien ik geen ervaring heb met AJAX / Single-page apps etc. weet ik niet wat ik me op de hals haal. Het grote voordeel is dan wel dat ik de logica niet twee keer hoef te schrijven.

Wat ik het liefste zou zien is een mogelijkheid om de web-app grote delen van de Controllers te laten hergebruiken alleen dan middels de web routes en met sessions ipv api_tokens.

Ik hoop dat jullie me in de juiste richting kunnen duwen. Alvast bedankt _O_

Matis

If money talks then I'm a mime
If time is money then I'm out of time

Alle reacties


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 07-10 14:25

Creepy

Tactical Espionage Splatterer

Als je een SPA maakt, dan kan je toch hetzelfde token gebruiken in je REST calls? Als je al je API calls al werkend hebt met dat token, waarom zou je dan nog een sessie willen gaan gebruiken?

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 07-10 19:27

Matis

Rubber Rocket

Topicstarter
Creepy schreef op woensdag 31 mei 2017 @ 10:14:
Als je een SPA maakt, dan kan je toch hetzelfde token gebruiken in je REST calls? Als je al je API calls al werkend hebt met dat token, waarom zou je dan nog een sessie willen gaan gebruiken?
Dat klopt en dat realiseer ik me ook. Derhalve heeft een SPA ook de voorkeur.

De grote maar zit hem in het feit dat ik geen ervaring heb met het ontwikkelen van een SPA. Derhalve ben ik een beetje huiverig. Vooral omdat er in een aantal voorbeelden op het web meteen met frameworks wordt gegooid (Vue, Angular, React) waarin ik in de Coffee-Corner allemaal nare geluiden over heb gelezen.

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 07-10 14:25

Creepy

Tactical Espionage Splatterer

Die frameworks die je noemt zijn allemaal prima bruikbaar, dat er een paar mensen negatief over lopen te doen zou ik toch echt naast me neer leggen. Door je bestaande API calls te hergebruiken gaat het je tijd en kwaliteit opleveren. Daarnaast worden die frameworks door veel mensen succesvol gebruikt en hebben ze grote communities.

[ Voor 17% gewijzigd door Creepy op 31-05-2017 10:34 ]

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 07-10 19:27

Matis

Rubber Rocket

Topicstarter
Dank voor je reactie. Ik ga maar eens een aantal dagen verdiepen in Vue.js.

If money talks then I'm a mime
If time is money then I'm out of time