cross platform - Website and Native app user authorization -


i wish create functionality similar facebook or pokerstars if have used them before. apps require user login , information can accessed both browsers , native , web apps.

how can go achieving this? please advice on services research on accomplish this. current understanding. creating website in html , php , creating webservice using restful protocols , hosting them on amazon aws servers. can connect these servers in native apps? not clear on how native apps interact servers

if know of particular protocol or better server hosting service please let me know.

if i'm interpreting question correctly, looking this:

  1. the user starts either browser app or native app (perhaps mobile app)
  2. since user not have account yet, present them appropriate dialog create said account.
  3. you ask "identity service" create profile user
  4. the identity service returns token access

this in mobile network industry time. technically, have tac/acs or hss profile services, in either case, it's same thing -- dedicated service , network process that:

  1. accepts connections various clients (web, mobile, desktop...)
  2. has various primitives along database crud (create, read, update, delete) model
  3. answers requests database

if want pre-configured solution, use networked database reststyle connector example (mongodb maybe?) through in process talks nosql or sqllite database. end result same.

for commercial solutions, might @ openstack can run code on , have identity brokers might able coopt.

personally, i'd have datastore running on cloud somewhere amazon's ec2 answers restful requests such as:

  • create user given profile set, return unique token
  • delete user given token
  • update elements of profile given token

i'm leaving out necessary things security here, idea.

this has advantage can have single identity service of applications/application services. specifics given application element sub-fields in profile. gives you, not common identity broker web, desktop , mobile, single-sign-on applications. user signs in once , authenticated have. moving site site, became seamless.

lastly, place identity management, backup, security token management, etc outside of application. if later want add google authenticator second-factor authentication, don't have add every application have.

i should add don't want keep identity database on direct internet connection point. make life difficult , ahold later on. rather, want identity server have private link it. this:

  • when account created, don't store passwords, store hashes -- safer
  • have application (web or otherwise) compute key login

in case, user might enter username , password, application or website convert token. send across.

  • next, using token (and suitable security magic), use owner key
  • send key datastore , retrieve needed values
  • encrypt them blob token
  • send block
  • the application decrypts blob @ values

why this?

first, if try @ identity database, there's nothing useful. contains opaque tokens logins, , blobs of encrypted data. go ahead -- take database. don't care.

second, sniffing transport gets attacker nothing -- again, it's encrypted blobs.

this means later on, when have 5 applications using broker, , hacks network , steals database, don't care, because users never gave out logins , passwords in first place, , if did, data garbage without user key.

does help?


Comments

Popular posts from this blog

jquery - How can I dynamically add a browser tab? -

node.js - Getting the socket id,user id pair of a logged in user(s) -

keyboard - C++ GetAsyncKeyState alternative -