Apps/AppDev Certification: Difference between revisions

From BigID Developer Portal
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Introduction ==
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. 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.
== Submission ==
You can submit your project by emailing a docker image to [email protected]. You are limited to 2 submissions per 24 hour period. If you have submitted your project at 5:01 PM CST, you will need to wait until 5:02 PM CST the next day to submit. There is no limit to the number of submissions. You are not allowed to collaborate with others on this project. Code analysis will be done to ensure no collaboration has taken place. Do not share your work or post it publicly in any form. You will receive a score and feedback immediately after submission. If you believe there was an error in grading your submission you can request a manual review. Note that this review may take several days to complete. Resubmitting your project with changes will be more expedient.


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 .tar docker image file.
* 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 21: Line 15:


=== Optional Exercises ===
=== Optional Exercises ===
Complete as many of the below exercises to obtain 5 points.


==== System Integration Utility ====
==== 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 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)
* In the case of a successful request to test-harness.mybigid.com, your application uploads a file named result.json with the contents of the test-harness request to request storage. (+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)

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)