Apps/AppDev Certification: Difference between revisions
(8 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
To become a BigID certified developer, you need to create an application showing your knowledge. There are no specific programming language requirements for this application, just like within BigID. We will not judge your code on syntax or style. We’ve designed this project to be flexible enough to focus on your specific domain while also being rigorous enough to verify your knowledge to BigID customers around the world. | |||
== Grading == | == Grading == | ||
Line 14: | Line 8: | ||
=== Requirements === | === Requirements === | ||
* Your application must be packaged as a . | * Your application must be packaged as a .zip file. | ||
* Your application must respond to port 3000 over HTTP. | * Your application must respond to port 3000 over HTTP. | ||
* Your application must have a valid Manifest file and serve that file at /manifest. | * Your application must have a valid Manifest file and serve that file at /manifest. | ||
Line 27: | Line 21: | ||
* Your application responds to an action named “synchronize” with a status of “In Progress.” This action is also specified within your manifest. (+1 points) | * Your application responds to an action named “synchronize” with a status of “In Progress.” This action is also specified within your manifest. (+1 points) | ||
* Your application validates that the BigID Token provided to the actions endpoint before performing any other action. (+1 points) | |||
* The “synchronize” action sends a JSON array of data source IP addresses from the BigID instance to test-harness.mybigid.com. This request contains the “TESTID” environment variable in the Authorization header. (+1 points) | * The “synchronize” action sends a JSON array of data source IP addresses from the BigID instance to test-harness.mybigid.com. This request contains the “TESTID” environment variable in the Authorization header. (+1 points) | ||
* If the request to test-harness.mybigid.com fails, the application will report an error status to the BigID instance callback URL. (+1 points) | * If the request to test-harness.mybigid.com fails, the application will report an error status to the BigID instance callback URL. (+1 points) | ||
* If the request to test-harness.mybigid.com succeeds, the application will report a success status to the BigID instance callback URL. (+1 points) | * If the request to test-harness.mybigid.com succeeds, the application will report a success status to the BigID instance callback URL. (+1 points) | ||
* Your application uploads a file named result.json as a report to BigID's action storage (https:// | * Your application uploads a file named result.json as a report to BigID's action storage (https://api.bigid.com/wrappers/tpa.html#post-/executions/-executionId-/attachment). (+1 points) | ||
==== Password Manager ==== | ==== Password Manager ==== | ||
* Your application responds to an action named “vault” with a status on “In Progress.” This action is also specified within your manifest. (+1 points) | * Your application responds to an action named “vault” with a status on “In Progress.” This action is also specified within your manifest. (+1 points) | ||
==== Interactive Dashboard ==== | |||
* Your application returns an HTML at /ui that retrieves a token using the BigID UI SDK (+1 points) | |||
* Using the BigID UI SDK, you store a value named "User" within your app's TPA storage. (+1 points) | |||
* Using the BigID UI SDK, you retrieve a value named "User" from your app's TPA storage. (+1 points) |
Latest revision as of 22:54, 26 December 2023
To become a BigID certified developer, you need to create an application showing your knowledge. There are no specific programming language requirements for this application, just like within BigID. We will not judge your code on syntax or style. We’ve designed this project to be flexible enough to focus on your specific domain while also being rigorous enough to verify your knowledge to BigID customers around the world.
Grading
The project consists of requirements and optional exercises. Your application MUST implement all requirements. Not implementing a single requirement will result in a failing score. After implementing all requirements, you may choose between optional exercises to get yourself to 5 points. You do not need to implement all requirements from one exercise. Any activity that generates points will count.
Requirements
- Your application must be packaged as a .zip file.
- Your application must respond to port 3000 over HTTP.
- Your application must have a valid Manifest file and serve that file at /manifest.
- Your application manifest must have a name and a description.
- Your application may not rely on any external servers beyond those specified in this document.
Optional Exercises
Complete as many of the below exercises to obtain 5 points.
System Integration Utility
- Your application responds to an action named “synchronize” with a status of “In Progress.” This action is also specified within your manifest. (+1 points)
- Your application validates that the BigID Token provided to the actions endpoint before performing any other action. (+1 points)
- The “synchronize” action sends a JSON array of data source IP addresses from the BigID instance to test-harness.mybigid.com. This request contains the “TESTID” environment variable in the Authorization header. (+1 points)
- If the request to test-harness.mybigid.com fails, the application will report an error status to the BigID instance callback URL. (+1 points)
- If the request to test-harness.mybigid.com succeeds, the application will report a success status to the BigID instance callback URL. (+1 points)
- Your application uploads a file named result.json as a report to BigID's action storage (https://api.bigid.com/wrappers/tpa.html#post-/executions/-executionId-/attachment). (+1 points)
Password Manager
- Your application responds to an action named “vault” with a status on “In Progress.” This action is also specified within your manifest. (+1 points)
Interactive Dashboard
- Your application returns an HTML at /ui that retrieves a token using the BigID UI SDK (+1 points)
- Using the BigID UI SDK, you store a value named "User" within your app's TPA storage. (+1 points)
- Using the BigID UI SDK, you retrieve a value named "User" from your app's TPA storage. (+1 points)