This repository has been archived by the owner on Mar 18, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 15
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #64 from UlfBj/master
Tutorial update
- Loading branch information
Showing
6 changed files
with
127 additions
and
18 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,25 +1,18 @@ | ||
--- | ||
title: "W3C Vehicle Information Signal Specification ver 2, VISSv2 Tutorial" | ||
title: "W3C Vehicle Information Service Specification ver 2 Reference Implementation Tutorial" | ||
--- | ||
# W3C Vehicle Information Signal Specification ver 2 | ||
## W3C Vehicle Information Service Specification ver 2 Reference Implementation Tutorial | ||
|
||
This W3C specification, soon to become a W3C standard, is developed at the [W3C/automotive github](https://github.com/w3c/automotive), | ||
and this Github contains a reference implementation in the form of a server that exposes an interface according to the specification. | ||
The W3C VISSv2 specification, soon to become a W3C standard, is developed at the [W3C/automotive github](https://github.com/w3c/automotive). | ||
A reference implementation in the form of a server that exposes an interface according to the specification is developed on this repo. | ||
|
||
Also found on this Github are implementations of other components that are needed to realize a communication tech stack, from clients to the underlying vehicle system. | ||
These components can be categorized as follows: | ||
Also found on this repo are implementations of other components that are needed to realize a communication tech stack that reaches from clients through the server and to the underlying vehicle system interface. | ||
|
||
These software components (SwCs) can be categorized as follows: | ||
* server | ||
* client | ||
* data storage | ||
* feeder | ||
|
||
## Server | ||
|
||
|
||
## Client | ||
|
||
|
||
## Data storage | ||
|
||
|
||
## Feeder | ||
The tutorial describes each SwC in a separate chapter. | ||
It also contains a few Proof of concept (POC) examples, and information about installing, building and running Golang based SwCs. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
--- | ||
title: "VISSv2 Access Control Servers" | ||
--- | ||
|
||
The [VISSv2 access control model](https://raw.githack.com/w3c/automotive/gh-pages/spec/VISSv2_Core.html#access-control-model) specifies two authorization servers: | ||
* Access Grant server | ||
* Access Token server | ||
|
||
### Access Grant server | ||
This server is in a typical scenario running in the cloud. It is built as a separate executable in the WAII/server/agt_server directory | ||
|
||
$ go build | ||
|
||
and run by | ||
|
||
$ ./agt_server | ||
|
||
It exposes an HTTP API according to the VISSv2 specification. However it is currently not TLS protected (which is a must in non-development scenario). | ||
What is also missing in the AGS implementation is authentication of the client, which according to the specification should be an AGT task. | ||
|
||
### Access Token server | ||
|
||
This server runs as a thread within the vissv2 server, so it is built by the vissv2 build command. | ||
For it to be built, it is necessary to make sure that the "atServer" line in the serverComponents array in the vissv2server.go code is uncommented: | ||
``` | ||
var serverComponents []string = []string{ | ||
"serviceMgr", | ||
"httpMgr", | ||
"wsMgr", | ||
"mqttMgr", | ||
"grpcMgr", | ||
"atServer", | ||
} | ||
``` | ||
If it is part of the vissv2server build, and if a VSS node is access control tagged, | ||
the server will then forward the access token received in the client request to the ATS for validation. | ||
|
||
The ATS will as part of the validation also use the VISSv2 specified policy documents if they are found in the working directory. | ||
|
||
|
||
### VISS web client submodule | ||
|
||
This submodule implements a [VISSv2 web client](https://github.com/nicslabdev/viss-web-client/) | ||
that exposes a UI that is considerably more sophisticated than what other clients on the WAII repo exposes, | ||
and it is particularly helpful when it comes to the client interactions with access control involved. | ||
Check out the README on both repos for more information. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.