GithubHelp home page GithubHelp logo

alexfigtree / coreid Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mitmedialab/coreid

5.0 5.0 5.0 5.46 MB

For MIT Human Dynamics group blockchain-backed individual identity open source prototype

License: MIT License

HTML 21.88% CSS 49.32% JavaScript 28.71% Nginx 0.10%

coreid's People

Contributors

akscanb avatar alexfigtree avatar christiansmith avatar dazzaji avatar jwalsh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

coreid's Issues

Nginx configuration

The nginx configuration steps could use some modification. Modifying nginx.conf in etc/nginx did not work with the specified addresses. Using others seemed to help, but I am running into what are possibly unrelated issues involving jsonfile, index.js, webpack, etc.. Need to fish around some more, but it would be helpful if I could get a walkthrough of the nginx.conf setup just to be sure that it was configured properly.

Create Initial Mockups

Mockups for Attestations, Documents, Signatures, and Transactions

  • Added simple table to identity, advance and complete each mockup here.

RPC handler for signing is failing due to CORS

Failed to load resource: the server responded with a status of 501 (Not Implemented)
documents:1 Fetch API cannot load http://localhost:8332/. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:3000' is therefore not allowed access. The response had HTTP status code 501. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

I think there is potential way to proxy the requests through the webpack dev server, but unsure how to set that up correctly.

React-router merge to master

Was this PR merged into master? I received an email from Jason yesterday for what I thought was a request to review and then merging PR #31 for routing, but I noticed that the three commits (PR #31) related to routing were already committed to master, which is why I assumed #31 had been closed by the time I got to see it.

However, when I pull the latest commits, the ones related to routing are still not showing up on my local repo. I've tried checking out master and pulling on the terminal. Why aren't these commits showing?

Signature screenshots needed for slide deck in final presentation milestone

@dazzaji Signature screenshots needed for slide deck, to be added to: https://docs.google.com/presentation/d/13I7_G37qNnyRuv28Ev8c_CTF9E6AgCx7YUmsg8gKCoo/edit#slide=id.g1f95291f27_0_127

Screenshots needed:

  • Documents: Confirmation of signature (alert popup box)
  • Documents: Resulting payload, post-signature (alert popup box)
  • Claims: Confirmation of signature (alert popup box)
  • Claims: Resulting payload, post-signature (alert popup box)

nginx server to proxy with cors header

I tried to utilize a nginx server to proxy all my from the react app to my bitcoin server, but it seems that did not work as intended. Below is the nginx configuration I added which can be found in /usr/nginx/sites-available/default

server {
listen 80;
server_name localhost;

location /g/ {
proxy_pass http://www.google.com/;
}

location /so/ {

proxy_pass http://stackoverflow.com/;
}

location / {  # I tried putting it before other locations too

proxy_pass http://www.google.com/; # added here also, for tests, tried putting it just after headers too

if ($request_method = 'OPTIONS') {
		add_header 'Access-Control-Allow-Origin' '*';
		add_header 'Access-Control-Allow-Credentials' 'true';
		add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
		add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
		add_header 'Access-Control-Max-Age' 1728000;
		add_header 'Content-Type' 'text/plain charset=UTF-8';
		add_header 'Content-Length' 0;
		return 204;
}
# if ($request_method = 'GET') { # let's add them for all methods
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
# }

}

}

Error in building the project

It seems the App file isn't able to find the node modules folder.
Error in ./src/App.js
Module not found: 'react-router-dom' in /home/z/Documents/MIT/personalProjects/nodetest/new/CoreID/src

Express server to add CORS header

I added an express server to see if I could deal with proxying all requests through it and add cors headers, but it seems it doesn't work as intended. You can try it yourself by running node server from the main CoreID directory.

Undefined Signatures

Signatures(in console payload and alert box) are showing as 'undefined' when signing documents and claims. I have ./bitcoind running in my bitcoin-0.14.1/bin folder. The issue seems to be with the 'signMessage' function.

The 'signed' variable is appearing as 'true' in the payload (which it shouldn't if signatures aren't being provided). My guess is that this issue is related to: #39. I have installed CouchDB, but some more documentation on how to configure CouchDB with this project would be helpful.

Adopt Verifiable Claims Data Model and Representations 1.0 specs/lingo

I put a link in the wiki to Verifiable Claims Data Model and Representations 1.0 which defines the problem space:

This specification describes a data model for a digital identity profile and a collection of digital entity credentials that assert verifiable claims about that identity profile. It also describes how to express that data model in JSON, JSON-LD, and WebIDL.

Using this specification, here’s what Bob’s identity profile would look like:

{
  "id": "did:5278a9c357f0b70a04109a6dc0d270a6",
  "type": ["Identiy", "Person"],
  "name": "Bob Smith",
  "email": "[email protected]",
  "birthDate": "1976-05-05",
  "telephone": "6175551212"
}

Bob can create an unverified claim about himself; this is how it would be expressed:

{
  "id": "http://example.gov/credentials/4546",
  "type": ["Credential", "ProofOfAgeCredential"],
  "issuer": "https://dmv.example.gov",
  "claim": {
    "id": "did:5278a9c357f0b70a04109a6dc0d270a6",
    "ageOver": 21
  } 
}

Here’s how to express a verified claim about Bob; note it contains a digital signature:

{
  "@context": "https://w3id.org/security/v1",
  "id": "http://example.gov/credentials/4546",
  "type": ["Credential", "ProofOfAgeCredential"],
  "issuer": "https://dmv.example.gov",
  "issued" "2017-01-01",
  "claim": {
    "id": "did:5278a9c357f0b70a04109a6dc0d270a6",
    "ageOver": 21
  },
  "revocation": {
    "id": "http://example.gov/revocations/738",
    "type": "SimpleRevocationList2017"
  },
  "signature": {
    "type": "LinkedDataSignature2015",
    "created": "2016-06-18T21:19:10Z",
    "creator": "https://example.com/jdoe/keys/1",
    "domain": "json-ld.org",
    "nonce": "598c63d6",
    "signatureValue": "BavEll0/I1zpYw8XNi1bgVg/sCneO4Jugez8RwDg/+MCRVpjOboDoe4SxxKjkCOvKiCHGDvc4krqi6Z1n0UfqzxGfmatCuFibcC1wpsPRdW+gGsutPTLzvueMWmFhwYmfIFpbBu95t501+rSLHIEuujM/+PXr9Cky6Ed+W3JT24="
  }
}

Of course, Bob could sign his his own claim; in this example, the Department of Motor Vehicles, verifies Bob's claim via its digital signature.

user flow documentation

Architectural documentation includes: user flow, UI content, key use cases, data model and conceptual architecture for analytics

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.