How to put the Steam connection in a NestJS server? - ionic-framework

I would like to set up a Steam connection in my Ionic/Angular application with NestJS Server.
I can't find anything to help me.
I am new to NestJS.
I want to be able to call the Steam login page (with:
"https://steamcommunity.com/openid/") and return the connection to me. I want to be able to put a token to indicate that the person is connected.
I find a lot of things in ExpressJS but I can't implement in NestJS.
It's been non-stop day that I try to find solutions but I can't find it at all.
If a charitable person could help me, it would take a huge weight off me.

Related

Setting up auth0 and NESTJS with no front end

I am currently building a backend service for a project. I have set it up with auth0 but am having some dificulties wrapping my head around the flow of stuff.
Since their is no front end, how will my backend recieve jwt tokens in my requests?
I know there is a way to get this up so that there is a default one in postman, but im struggeling to put all the pieces together.
I want to create a user DB based on the sub feild of the decrypted jwt token, but am not sure how to abtract it really?
Ive worked on features before, but the set up had always been done by someone else.
I am reading documentation, but don't think I know where to look for the exact answers.
any tips, pointers or links would be greatly appreciated
what I have done:
Setting up Auth0 and Nestjs with auth0's tutorial front end, though it means I cant look into that they've done.

when is a session created in ejabberd ? How does authentication work ?

Im trying to understand the data flow of ejabberd and having a hard time till now.
First, these are the modules Im working on:
ejabberd_c2s, ejabberd_auth, ejabberd_sm, ejabberd_sm_mnesia.
I understand that ejabberd_c2s is a gen_fsm that is entry point for any client that wants to talk to any other client.
Dataflow: When a client connects to ejabberd_c2s, it sends some data, not sure exactly what but along the lines of {JID}. But not able to figure out how ejabberd_c2s authenticates? Where does it actually call the authentication module and if the authentication is successful, who creates a session for that user? is it ejabberd_c2s or ejabberd_auth ?
I understand that ejabberd_sm[_mnesia] are the api calls that will actually create a session for anyone.
References to code/ samples is highly appreciated.!
How exactly this whole thing works?
Thanks a lot!
Authentication is primarily made is wait_for_stream function of c2s: https://github.com/processone/ejabberd/blob/master/src/ejabberd_c2s.erl#L348
Session is created in wait_for_bind function of c2s:
https://github.com/processone/ejabberd/blob/master/src/ejabberd_c2s.erl#L1046

Using own user repository/ database table for IdentitiyServer3 to authenticate against

Can you please help me with some insight on using my own User repository/ database table for Identity server (IdentityServer3) to authenticate against?
I know other people have done it, but can’t seem to figure out how?
You need to write a user service. The docs and samples have very good coverage of that.
https://identityserver.github.io/Documentation/docs/advanced/userService.html

Does Jabber/XMPP got a prefered database?

Right now i am developing an app for a real time chat communication that need to make an authentication of the users.
I read at various places that XMPP makes an authentication but i need to find out the database he works with , so does anybode know ?
Or can he make authentication of the users with any database?
Thanks

creating user login in derby js

It seems that basic functionality such as user login, can not be done in simple manner: to have username and password field in form on client and based on that to create store.readPathAccess model access rights. Also, how to check if user is logged in to implement access rights on routes?
Based on examples and (poor) DerbyJS documentation, if I understood it correctly, you have to implement login in server module (lib/server/*) because:
store.readPathAccess must be used in server side
you want to store data in model session (which can be read only on server side)
But many questions arise:
if it has to be done on server side, how to get and store client form data on server side without having problem with second item below on the list (I have done it with manually submitting data to server-only route, but can not then save it in model with local key because I have to redirect to client route after that and local model data is lost)
how to read later that data if it must be stored in session?
even if the store access rights for model is managed, how to check if this specific user is logged in when in client routes?
I'm quite confused at the moment... liked Derby principles, but this authentication problems are playing with my nerves seriously.
I know I may not be quite clear, but there are many points to go in details and if anyone can help I'll gladly give more required info.
Thank you,
Eddie
I found this library today called derby-auth.
It uses passport for signing in and has a good example using a simple register and login form.
What it does is to set some routes on the server for logging the user, and a middleware to tell the client if it's logged or not.
It does have some bugs (a few callback calls missing that break some things), so i wrote my own based on that, but must clean a lot of things before uploading anywhere.
i'd be glad to send it to you if you want to, though.
The most current library is https://github.com/derbyparty/derby-login
It has been updated pretty regularly and works with derbyjs 0.6