Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.2%) to scientific vocabulary
Repository
PoC
Basic Info
- Host: GitHub
- Owner: spydx
- License: mit
- Language: Rust
- Default Branch: main
- Size: 17.2 MB
Statistics
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 2
- Releases: 0
Metadata Files
README.md
Capability PoC - Instructions
PS: remember to clone with --recurse-submodules
sh
git clone --recurse-submodules https://github.com/spydx/capability-poc.git
cd capability-poc
git submodule update --remote --recursive
Running the example
The recommended way to start this example is to use docker-compose.
The build process will depend on your internet connection take anything from 15 min to 20+ min to build all the components.
Docker-compose
After installing Docker:
Bring everything up
```sh
docker-compise build # approx 15+ min docker-compose up ```
Launch a browser and access http://localhost:3000/
The process to be done is:
- 1. GnapRequest
- 2. Login at the AS
- Continuation Request (Authorization)
One or more of the desired actions.
Users
| Username | Password | |---|---| | kenneth | password | | alice | password | | bob | password |
Manually
You will need:
- Rust/Cargo : install
- SQLx-cli :
cargo install sqlx-cliinstall - sqlx needs SQLite support, so either specify or leave for default.
- npm for nextjs.
- Add
host.docker.internalpointing to127.0.0.1to in the local hosts file.
Ubuntu / Linux
You will need:
sh
sudo apt install build-essential
sudo apt install libssl-dev
sudo apt install pkg-config
rustup toolchain install nightly # do this if cargo doesn't do it automatically
cargo check # after all above, this should work from the project root.
Building order
- GNAP
```sh
cd gnap docker-compose up -d # bring up REDIS and MongoDB. cd gnap_as cargo run ```
simple-api ```sh
cd simple-api cargo run ```
cap-client
```sh
cd cap-client npm install npm run dev open http://localhost:3000/ ```
Database errors
Sometimes the Mongo database stops working correctly.
If it does, then removing the data in the folder ./gnap/data/mongodb
will cause a rebuild of the database to the clean working state with docker-compose up.
BibTex
bibtex
@software{Fossen_Exploring_Capability-based_security_2022,
author = {Fossen, Kenneth},
month = {6},
title = {{Exploring Capability-based security in software design with Rust}},
url = {https://github.com/spydx/capability-poc},
version = {1.0.0},
year = {2022}
}
Owner
- Name: Kenneth Fossen
- Login: spydx
- Kind: user
- Location: Norway
- Company: kefo
- Website: www.kefo.no
- Repositories: 6
- Profile: https://github.com/spydx
Software Engineer @bouvet, Master in Software Engineering and a Bachelor's in Computer Security from the University of Bergen @uib
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Fossen" given-names: "Kenneth" title: "Exploring Capability-based security in software design with Rust" version: 1.0.0 date-released: 2022-06-01 url: "https://github.com/spydx/capability-poc"
GitHub Events
Total
Last Year
Dependencies
- httpmock 0.6.6 development
- tokio-test 0.4.2 development
- log 0.4.14
- reqwest 0.11.9
- serde 1.0.136
- serde_json 1.0.79
- tokio 1.17.0
- uuid 0.8.2
- 281 dependencies
- autoprefixer ^10.4.2 development
- eslint 8.11.0 development
- eslint-config-next 12.1.0 development
- postcss ^8.4.8 development
- tailwindcss ^3.0.23 development
- next 12.1.0
- react 17.0.2
- react-dom 17.0.2
- uuid ^8.3.2
- mongo 5
- redis alpine