Giter Site home page Giter Site logo

obsolete.op-identity-provider-server-php's People

Contributors

andrejsolar avatar cadorn avatar orahkokos avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

obsolete.op-identity-provider-server-php's Issues

Install PHP >= 5.4.

Install PHP >= 5.4. on Lockbox instance in order for hex2bin() to be possible.

After that reassign back to me, so that I can refactor accordingly.

SMS and SMTP Configs

Make sure SMS and SMTP configs aren't compromised by auto-deploy, just the same as for config.php. These files are in the ...app/config/special/ directory

Parameter Name Not Being Sent On Sign-up

Here is identity service's behavior:
https://gist.github.com/robin-raymond/365ba504527e4dfe328c

The "name" field is returned empty because it is not set in the database. It can be set only upon sign-up on identity provider, when identity provider sends hosted-identity-update. That request is checked and works correctly.

So, the issue is most probably that JS does not send "name" to PHP service on sign-up.

Example sign-up with "displayName":
{
"request": {
"$domain": "provider.com",
"$id": "abc",
"$handler": "identity-provider",
"$method": "sign-up",

    "identity": {
        "type": "federated",
        "identifier": "adriano",
        "passwordHash": "adjfhgqiu4rt346ruyegurfguaiy4tr4",
        "secretSalt": "hwyuig5yg5tjhsvrktyg5jgk5ygt54",
        "serverPasswordSalt": "wuiywg5tg765tiuysut6tsuygrtuue45",

        "displayName": "Adriano Maljkovic"
    }
}

}

  • Please note: in JS<->PHP communication it is still called "displayName", but it's the same thing as "name" on Java side.

Register identity.hookflash.me

  • register identity.hookflash.me with HCS on Lockbox instance using test client as Customer Portal.
  • setup all the id provider configuration based on what Java returned as a result of provider-create

DB Schemas Dumping Wrong DBs

9477369

8b380e0

In these commits ^^ wrong DBs have been dumped. Inside the op-identity-provider-server-php project no DB but the one called 'provider_db' can be dumped. This is a public repo and can have public dbs only. Other DBs, like hf_password1_db, hf_password2_db and hf_service_db, do not belong here. They should be private and can be dumped onside the hcs-servers-java repo.

Handle Sign-up With Existing User

If existing username is sent in a sign-up request, the server will respond in:

{
"result": {
"$domain": "provider.com",
"$id": "abc",
"$handler": "identity-provider",
"$method": "sign-up",
"$epoch": "1380547206",
"error": {
"reason": {
"$id": "403",
"message": "Identity already exists: identity of type: 'federated' with identifier: 'adi' cannot be created."
}
}
}
}

Please, return this error message to client.

Cascade Delete Wont Work

Scenario:

  1. sign-up a user against identity provider (let's say federated)
  2. try deleting the user using SQL:
    delete from user where user_id=<USER_ID>
  3. It will be deleted in user table, but remains forever in federated table.

Hosting Data Returned On Login

As a result for the login request, among other stuff, the server should return the hosting data which is consisted of the hostingProof and expiry.

It should be given in this format:
"hostingData": {
"nonce": "ghjg3y467trfyutfr67u5r345",
"hostingProof": "bg8fi674trystgye5t897t458utseou5t8964st89s5t76",
"hostingProofExpiry": 3744896567
}

Example provider friends list for rolodex

I've been thinking that the example provider should make an "auto friends list" for the rolodex. This list should include all friends under the same app ID.

This would make a good way to easily test the application by us and others but not create a massive impossible list over time since the list is scoped just to those whom share the same app ID.

What do you think?

cc: @adriano-maljkovic

Test Page

Create a new page at /test-service that I can hit with a POST request to test the identity provider setup.

It should try to connect to mysql and maybe do some other things and then return with 200 if ok or 500 if not.

Normalize Username

All usernames entered by a client should be normalized on JS side before being passed to any server. The normalization means to lower-case.

identity is not normalized

Robin is not same username as robin

identity://foo.com/robin

We should normalize all usernames that are case insensitive so the identity URI is stable / identical.

Streamline browser visibility

Browser visible notification seems to get sent when not needed after facebook oauth.

Notification may also be sent too early before facebook oauth.

Another notification may get sent later with the grant service when already granted. (depends on #38)

IAccount shutdown state nevere riched

Scenario:

It looks like it is having difficulties to shutdown the socket.

ICESocket [74] waiting for sockets to shutdown, total=1 @services_ICESocket.cpp(1126) [cancel]
stack::Account [66] shutdown still waiting for RUDP socket to shutdown @stack_Account.cpp(2090) [cancel]

Implement Cross-system database clearing mechanism - ID Provider side

Once CPS gets the devtools-database-clean request, it will perform a devtools-database-clean-provider request on every provider listed in request.

Example:

{
    "request": {
        "$domain": "provider.com",
        "$id": "abc",
        "$handler": "identity",
        "$method": "devtools-database-clean-provider",

        "nonce": "",
        "hostingSecretProof": "",
        "hostingSecretProofExpires": "",
        "purpose": "",
        "appids": [
            "",
            "",
            ""
        ]
    }
}

ID provider .well-known/openpeer-services-get GET

https://idprovider.com/.well-known/openpeer-services-get

This request should ALWAYS be hit as a GET request. The 302 redirect that happens after this request will be sent to a different URL whereupon a POST request will be issued with the original domain.

Thus for hosting scenarios, it will hit identity provider like this as a GET (without a "request" payload):
https://idprovider.com/.well-known/openpeer-services-get

(302 redirect reply to cloud service, like hcs.io)

Whereupon a POST is issued with the full "request" payload with the domain information as "idprovider.com":
https://hcs.io/services-get
^^^ NOTE: This URL is NOT under .well-known for hcs.io since it's NOT describing the 'well-known' information for HCS's service.

This is necessary because it will be hard for developers to install PHP (or other stuff) under corporate "well-known" where scripting isn't always available.

For .well-known/openpeer-services-get under hcs.io you'd only have services described that are relevant to open peer services directly related to hcs.io exclusively (if any of those exist) and only include the entries that are relevant for hcs.io and not to any hosted service domains. If there is nothing to advertise it should return a 404.

Install Instructions

Everything I need to do from cloning this repo to setting up the different auth strategies to testing it.

Autocorrect username on iOS?

I don't think usernames should do the auto-typing correction

It's more frustrating than help. Possible to disable that from the signup / login form?

Add hosted-identity-update Request

This request should be called from server side of identity provider to identity service.

It is needed for the identity service to be able to know the profile data of a user (avatars, profile, vprofile, feed, displayName).

The request should be called upon sign-up (for federated identities) and upon OAuth authentication if a new identity is being created. Also, should happen when a user changes it's profile (which will not be supported for the '1st phase').

Facebook login with less permissions and then re-auth does not work.

From https://github.com/openpeer/opios/issues/28:

I tracked down the problem. It was just with one Facebook account. When I first tried to sign in with it I pressed the button that said hookflash could not post on my wall. Afterwards I tried removing the app from...

https://www.facebook.com/appcenter/my

...and repeating the process. I guess there is account info on the provisioning server that is preventing a clean start.

When I registered another Facebook account and used that it worked fine.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.