These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
Previous page12
 

what would be really cool

First post
Author
foxjazz
Center for Advanced Studies
Gallente Federation
#21 - 2016-07-21 20:23:36 UTC
Hey, sorry to be jumpy...
https://www.quora.com/What-is-the-difference-between-Angular-js-and-Node-js

Angular is a javascript framework for building component html/client browser based apps.
In my angular app, any browser can run it and it will call api's on the back end.

Also you are welcome to add a client based SSO to the app I have on github:
https://github.com/foxjazz/evemonkey.git

Feel free to show off your skills, when it comes to SSO, I don't have any skills yet.
I don't believe making users get an API for this app is the right approach.

I don't know if you work for CCP but if you do:
Maybe you should allow facebook users to login to eve as facebook users.

Now yes I do have a small user base that enjoys the use of the evemarket tool.
And I can put in some client based arguments for adding notifications. I am not fond of polling.

have you looked at this: https://developers.google.com/web/fundamentals/getting-started/push-notifications/
I am green with it, but hey it's google.

I have had success with SignalR as a push notification service, it's very effective.
I haven't had time to configure your app yet. The thought of programming in java is holding me back.

However NodeJS is a great tool for developing server based apps.
Salgare
Center for Advanced Studies
Gallente Federation
#22 - 2016-07-21 22:13:51 UTC
foxjazz wrote:
Hey, sorry to be jumpy...
https://www.quora.com/What-is-the-difference-between-Angular-js-and-Node-js

Angular is a javascript framework for building component html/client browser based apps.
In my angular app, any browser can run it and it will call api's on the back end.

semantics, so a don't care ... I'd suggest the api's on the back end is why the prereq and first installation steps of angular is to have nodejs installed.

Quote:

Also you are welcome to add a client based SSO to the app I have on github:
https://github.com/foxjazz/evemonkey.git

I've got tons to do in my snowflake at this time, and don't have any experience with javascript. All I have to offer you at this time is if you are interested in utilizing a client side cache/bridge to ccp functionality. You call the java business tier instead of ccp directly.

Quote:

Feel free to show off your skills, when it comes to SSO, I don't have any skills yet.

funny! The crew here had to educate me on the permanent nature of ccp's SSO in regards to the refresh_token. As long as you can redirect from your authenticate button page to an external url and provide that external server a url that it can then redirect to ... it's really pretty straight forward.

Quote:

I don't believe making users get an API for this app is the right approach.
nor do I, I thought you mentioned something about a user/pass login which is not wanted with SSO
Salgare
Center for Advanced Studies
Gallente Federation
#23 - 2016-07-21 22:14:55 UTC  |  Edited by: Salgare
Quote:

I don't know if you work for CCP but if you do:
Maybe you should allow facebook users to login to eve as facebook users.

NO I do not work for ccp.
Quote:

Now yes I do have a small user base that enjoys the use of the evemarket tool.
And I can put in some client based arguments for adding notifications. I am not fond of polling.
have you looked at this: https://developers.google.com/web/fundamentals/getting-started/push-notifications/
I am green with it, but hey it's google.
I have had success with SignalR as a push notification service, it's very effective.

yes, typically its always better to go event driven if given the option.

Quote:

I haven't had time to configure your app yet. The thought of programming in java is holding me back.
However NodeJS is a great tool for developing server based apps.

As I've said elsewhere, one of the toughest choices is picking your technologies and what silo's they will lock you into.
Nodejs (angular clients) is an excellent choice. It is used in-house where I work. I think your decision is rather to learn/code java for the backend, or jump into NodeJs server side coding if you don't want to rely on the java business tier concept.

The two languages are very different ... with javascript, everything is loosely typed and is a function, with java everything is tightly typed and is object oriented - everything is related to a class/object

I will say, once you get into a typed purely object oriented language, you will cuss if/when you ever have to go back
foxjazz
Center for Advanced Studies
Gallente Federation
#24 - 2016-07-22 01:47:44 UTC
Funny you should say that. I come from a c# back ground. And understand OO very well indeed.
angular/angular (angular2) is written using typescript which is very OO.

I understand where you are coming from, I come originally from c++ which can be a pain to deal with.

I haven't done PHP. I did do some java years ago, but found c# more useful.

That's my landscape.
foxjazz
Center for Advanced Studies
Gallente Federation
#25 - 2016-07-22 04:45:11 UTC
The java tool idea you suggested doesn't work in my case.
There would be no way to authenticate because none of the clients would have java code to run. My app is browser based only.
There is no install.

OAuth

Unless you can think of a way to provide http auth request that doesn't need a callback, the api key minimal is the only way I can think of making this work for me.

foxjazz
Center for Advanced Studies
Gallente Federation
#26 - 2016-07-22 05:07:04 UTC
Hey, if you don't mind me using your ec2 for some proof of concepts, send me an eve mail with some credentials.

I would setup a python server port 82 or so.

Salgare
Center for Advanced Studies
Gallente Federation
#27 - 2016-07-22 13:27:57 UTC
foxjazz wrote:
Hey, if you don't mind me using your ec2 for some proof of concepts, send me an eve mail with some credentials.

I would setup a python server port 82 or so.



It's on a work account that I need to get off of so I can't share credentials. One reason I was offering up the CAC. A medium instance (3.7gig mem) is about 55 bucks a month. I can fire up the server and open up the port for you.

Here in Utah it's a long weekend and I'm leaving this morning and gone through Monday.
foxjazz
Center for Advanced Studies
Gallente Federation
#28 - 2016-07-26 15:07:17 UTC  |  Edited by: foxjazz
Hey, do you have a slack account?
Please invite me.
foxr4 @foxjazz.net

fj
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#29 - 2016-07-26 22:57:59 UTC
Just a quick note:

It's possible to do Eve SSO with the implicit path, thus receiving, at the client, an access token. (not, however, a refresh token. So you have 20 minutes before you need to auth again)

Doable in pure JS.

https://www.fuzzwork.co.uk/market/viewer2/ is an example of how to do the auth, and interact with crest. Once you have the access token, you can access things like the location endpoint (assuming you asked for the scope for it)

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

foxjazz
Center for Advanced Studies
Gallente Federation
#30 - 2016-07-27 02:30:13 UTC
the docs say it needs a redirect uri.

Can I provide a client based uri for the server callback?

It would be easier if I could call the login.eveonline.com where the websight would take the user and pass, then provide me with an access token (or a redirect uri) so the browser/client could then receive the access token.

Barring that it isn't clear how to get an access token without providing an api key etc...

It would seem that client could send a user and pass to the login page and then get a token for use within the app. But I am not certain yet how my client would display a page from the eve site.

So the api key is the only way I can see the client doing it. Keep in mind, there is no web-server involved in this process, except servers provided by crest.

fj
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#31 - 2016-07-27 12:25:53 UTC
foxjazz wrote:
the docs say it needs a redirect uri.

Can I provide a client based uri for the server callback?

It would be easier if I could call the login.eveonline.com where the websight would take the user and pass, then provide me with an access token (or a redirect uri) so the browser/client could then receive the access token.

Barring that it isn't clear how to get an access token without providing an api key etc...

It would seem that client could send a user and pass to the login page and then get a token for use within the app. But I am not certain yet how my client would display a page from the eve site.

So the api key is the only way I can see the client doing it. Keep in mind, there is no web-server involved in this process, except servers provided by crest.

fj



Look at the code I provided.

The redirect from the SSO server takes you straight back to the same page you came from, and _javascript_ handles the auth. My server, other than serving the html and the js, doesn't get involved in the process.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

foxjazz
Center for Advanced Studies
Gallente Federation
#32 - 2016-07-27 15:42:07 UTC
Hi Steve,

I clicked on that link, and it doesn't serve up code :(

I think maybe you could script me some code, or link a place I could see code?

fj
foxjazz
Center for Advanced Studies
Gallente Federation
#33 - 2016-07-27 16:03:09 UTC
Steve, I looked at the source as well.

Here is the problem I have with it:
the redirect is going to here:

https://www.fuzzwork.co.uk/market/viewer2/&state=e2977fb7-2aa1-4d57-b007-765f5cf85480

Should I setup the same redirect and call something at fuzzwork to get a clientid?

As I was saying before, my app is client based browser only. There is no server. www.fuzzwork.co.uk/market/viewer2&state indicates there is a server action in play.

fj
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#34 - 2016-07-27 20:38:15 UTC  |  Edited by: Steve Ronuken
There's no server action there. seriously. It's all in the JS.

https://www.fuzzwork.co.uk/market/viewer2/marketExplorer.js is the main file behind it.

The state is stored as a cookie on the client, to make sure the redirect is coming in form the right place, and there's no CSRF going on. (the code is somewhat lifted from someone's contact management code. as you can see in the comments at the top)

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Previous page12