Files
azuredatastudio/extensions/big-data-cluster/instructions.txt
Kevin Cunnane 9f065b2b5a Support AD in cluster connection dialog (#7367)
- Use token API to get auth token before using other endpoints. Note this needs server updates before it'll work as expected (will only checkin after verifying this)
- Add auth option in controller UI and plumb through connection save, load, and uses of the controller API
Because the swagger spec is split in 2 created new file for the 2nd swagger spec including token auth endpoints. These come from a running cluster and instructions were updated to reflect this.

New UI Changes:
- Added authentication type field with "Basic" and "Windows Authentication" as the options
- Moved error notifications to the dialog instead of separate notification window. That's the recommended pattern
- Username / password aren't required for Windows Authentication. I couldn't find a way to change required status in form container on switching from Windows => Basic Auth so have error show on clicking OK. 
- Controller URL should use ":" not "," for IP:Port
2019-09-30 15:59:04 -07:00

26 lines
1.7 KiB
Plaintext

How to update the Swagger-generated API to contact the controller
## BdcRouter API:
1. You need to get the API specification. Long-term you should be able to get from the server,
but for now go to the internal repository and find the checked in SwaggerClient.yaml there.
2. Copy the content from there, and add into https://editor.swagger.io/
3. Choose Generate Client, and choose Typescript-Node as the client to generate
4. This will download a zip file. Open it and copy contents of api.ts
5. Copy this content to apiGenerated.ts
- keep the copyright header and everything above the let defaultBasePath = xyz line,
- Override the rest of the file
6. Format the apiGenerated.ts file so it passes gulp hygiene
## TokenRouter and other APIs:
1. Get the API spec. This is available from a cluster at the address https://<ip>:30080/docs/swagger.json, where <ip> is the controller IP address.
2. Copy the content from there, and add convert from OpenApi 3.0 to Swagger 2.0 so we can use the Typescript-Node client generated by https://editor.swagger.io/.
Various converter tools are online. Alternatively, we might be able to use a different generator that has this client type (e.g. npm package @openapitools/openapi-generator-cli) but some require Java install.
3. Copy the converted Swagger 2.0 spec into https://editor.swagger.io/
4. Choose Generate Client, and choose Typescript-Node as the client to generate
5. This will download a zip file. Open it and copy contents of api.ts
6. Copy this content to tokenApiGenerated.ts
- keep the copyright header and everything above the let defaultBasePath = xyz line,
- Override the rest of the file
7. Format the tokenApiGenerated.ts file so it passes gulp hygiene