thomasaull

Members
  • Content count

    22
  • Joined

  • Last visited

  • Days Won

    1

thomasaull last won the day on December 4 2017

thomasaull had the most liked content!

Community Reputation

46 Excellent

About thomasaull

  • Rank
    Jr. Member

Recent Profile Visitors

1,065 profile views
  1. thomasaull

    Glad you figured it out! I think I ran into the same issue on another project earlier and I solived it like you by using "Alternate Template Filename". Since the frontend of a Vue App would be completely decoupled from ProcessWire anyway, another possible solution would be to set every page to "hidden" except the home page (didn't try that though). Edit: An that probably wouldn't allow deep linking on initial page load
  2. thomasaull

    If it works for the login, it should work with every other route aswell. Did you create the route in /router/index.js? And are you trying to use HTML5 History Mode?
  3. thomasaull

    @psy I (hopefully) resolved all issues with an update to the site profile. Can you give it a try and check if everything is working for you now? https://github.com/thomasaull/RestApiProfile/releases/tag/0.1.1 I didn't want to copy all the sanitizers in my site profile since it might break, when there will be more sanitizers added in the future. Instead I'm checking with method_exists if the specified sanitizer exists. Thanks for all your input and work
  4. thomasaull

    Ok so apparently my flight got wifi, so I'm able to answer now Vue Router is also capable of suppressing the /#/ in URLs, you just need to add the HTML5 History Mode: https://router.vuejs.org/en/essentials/history-mode.html Did you actually check and run the Vue Login example? Is everything working as supposed there? The login does happen in the login function in Auth.php, the other function just makes sure the user is actually logged in and therefore allowed to query the API. $authActive never gets changed after the initial declaration, it's basically just a switch to make the API publicy available or not. To get rid of the errors by TracyDebugger you can just delete these lines, they are just in there for debugging. You can totally have multiple Vue SPAs querying the same API, although I have never tested this with this profile. There might be CORS related issues that needs to be solved first. For starters, I'd try to have it all under the same domain. The checkAndSanitize works with. name|sanitizer pairs, check this line: https://github.com/thomasaull/RestApiProfile/blob/master/templates/api/Test.php#L17 (message is the parameter you're sending, text is the sanitizer which should be applied) I think I forgot to change the function call in Auth.php, try: ApiHelper::checkAndSanitizeRequiredParameters($data, ['username|text', 'password|text']); Try to change this line, remove all TracyDebugger statements and run the Vue example. I guess it should work then! I'm not with my computer until end of next week, so not really a big help I'm afraid
  5. thomasaull

    Sorry for the hazzle @psy. I‘m on the road atm, how important is this? I can try to get you some assistance maybe later today
  6. thomasaull

    It's not necessary, just one way of authentication. Basic Auth is perfectly fine aswell
  7. thomasaull

    Are you working on it? I'm not sure if you need a module for that, the only thing which makes sense being managed by the backend is the JWT Secret maybe… But by all means it might make things easy for people who are not familiar with JWT!
  8. thomasaull

    Unfortunately, one is not public – the other one not finished (not public either, but I might put in in my portfolio with a screencast or anything)
  9. thomasaull

    Hey hey, since I took a slightly different approach connecting my SPA with ProcessWire I created a new example site profile. The JWT-Auth stuff is in there, but honestly it's not very complicated, so I guess it could easily implemented anywhere else! Check it out:
  10. thomasaull

    I recently started to build Vue SPAs with ProcessWire as the backend, connected with a REST API. Thanks to code and the help of @LostKobrakai (How to use FastRoute with ProcessWire) and @clsource (REST-Helper) I got it up and running pretty quickly and now have put all of it in a site profile for others to use. It includes the REST API with routing for different endpoints, JWT Auth and a simple Vue SPA which shows the process of logging in a user (nevertheless, you don't have to use the Vue part, the API will work on it's own). Check it out here: https://github.com/thomasaull/RestApiProfile I'm pretty sure, it's not the perfect or most sophisticsted solution, but it gets the job done for me… Feedback or Improvements are very welcome
  11. thomasaull

    I Just played around with it a little. Looks awesome so far! It would be great if PageTable was supported, or is it already possible with a workaround?
  12. thomasaull

    Thx for the hint to this tutorial @microcipcip and sry for my late reply. No progress so far… Storing the users at an external server is no option in this case, but maybe there's usefull stuff in there anyway GraphQL seems to be really nice, but I'm not sure if it's to early to adopt it. If, the way to go seems to use the Vue-Apollo: https://github.com/Akryum/vue-apollo Any other pointers from your side?
  13. thomasaull

    Thanks @Robin S I'm aware of these modules, but I thougt why not use the Inputfield which is there in PW anyway?
  14. thomasaull

    Sounds good. I recently read some stuff about JWT, maybe I'm gonna give it a shot trying to implement it with a default REST Api… Not sure if I got the time though… This articles has some overview info: https://www.sitepoint.com/php-authorization-jwt-json-web-tokens/ And this is a library for doing the stuff in PHP: https://github.com/firebase/php-jwt
  15. I was wondering if it's possible to use the slider ProcessWire uses (see attached screenshot) e.g. for the width of a field for my own fields? The markup says it's a "Fieldtype Integer". However if I use this fieldtype there is no other display options except "Text" and "Number (HTML5)"