Opentrons / opentrons

Software for writing protocols and running them on the Opentrons Flex and Opentrons OT-2
https://opentrons.com
Apache License 2.0
416 stars 177 forks source link

Manage Robot Connection: 802.1x Authentication #2134

Closed umbhau closed 5 years ago

umbhau commented 6 years ago

As a robot user, I would like to be able to connect to wireless networks with enterprise (802.1x) security.

Acceptance Criteria

Break out into stories Story 1: Allow user to select from 802.1 x auth types modal (med) Story 2: 802.1x auth modal (md) Story 3: Certificates (large)

Implementation Notes

Design

Open questions

mcous commented 6 years ago

Ping @umbhau and @pantslakz - following up on questions from above:

Does the robot know what type of authentication protocol it is dealing with?

The robot knows the difference between "no security", "standard username/password", and enterprise. Once we're in the "enterprise" bucket, there are several (5 at the time or writing) we can support, but the robot has no way of telling us which of those 5 a network uses.

What auth protocols should we allow the user to select?

We have enough information to drop the user to:

Certificate files

Some enterprise authentication mechanisms require one or more certificate files. Selecting a certificate file for a given input is a multi-step process:

  1. Get list of certificates already on the robot
    • If certificate is already loaded, populate field with the ID and you're done
  2. If not already on robot, upload the file to the server
  3. Server will return an ID, populate certificate field with the ID

If we wanted to, we could get away with not building a certificate management flow and just upload the files every single time. This would probably be subpar from a UX standpoint but is technically feasible.

umbhau commented 5 years ago

Closing in favor of: Manage Robot Connection: Select Type of 802.1x Authentication #2412 Manage Robot Connection: Enter Authentication Information #2413 Manage Robot Connection: Certificate Authentication #2415 Manage Robot Connection: Required Fields #2416