Skip to content

tctl sso: update general SSO docs and GitHub guide.#14227

Closed
Tener wants to merge 9 commits into
masterfrom
tener/sso-docs-p1
Closed

tctl sso: update general SSO docs and GitHub guide.#14227
Tener wants to merge 9 commits into
masterfrom
tener/sso-docs-p1

Conversation

@Tener
Copy link
Copy Markdown
Contributor

@Tener Tener commented Jul 8, 2022

Update SSO guides to take into account new commands: tctl sso test, tctl sso configure:

  • general SSO instructions, troubleshooting
  • GitHub guide.

This PR is one of a series; see #12941 (comment).

Parent: #9270

@Tener
Copy link
Copy Markdown
Contributor Author

Tener commented Jul 14, 2022

Bump @ptgott


Next, define an authentication connector. Create a file called `connector.yaml`
based on one of the following examples.
Next, define an authentication connector. We recommend the usage of helper
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What would you think of adding step-by-step instructions for using a helper command to create the connector? We're already showing example snippets, so I think it would make sense to create a seamless step-by-step experience. We could use a Tabs component for this, with one TabItem per connector type.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, not sure what that should look like? Do you mean to move individual steps in this guide into tabs? I'm probably missing the right idea here...

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would be something like this:

Next, define an authentication connector using the `tctl sso configure` 
command:

<Tabs>
  <TabItem title="OIDC">

  Here is how to use `tctl sso configure oidc`.

  </TabItem>
  <TabItem title="SAML">

  Here is how to use `tctl sso configure saml`.

  </TabItem>
  <TabItem title="GitHub">

  Here is how to use `tctl sso configure gh`.

  </TabItem
</Tabs>

This way, the reader wouldn't need to find the relevant documentation on their own.

Comment thread docs/pages/enterprise/sso.mdx Outdated
Comment thread docs/pages/enterprise/sso.mdx Outdated
Comment thread docs/pages/enterprise/sso.mdx Outdated
Comment thread docs/pages/enterprise/sso.mdx Outdated
Note:
- Manually pasting the XML to `entity_descriptor` field is error prone. We recommend using `tctl sso configure saml -e entity_descriptor.xml ...` command instead.
- You may use `entity_descriptor_url`, in lieu of `entity_descriptor`, to fetch the entity descriptor from
your IDP. Though, we recommend "pinning" the entity descriptor by including the XML rather than fetching from a URL.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does the helper command add the XML to pin the entity descriptor? If so, we should indicate this here, since that's the recommended approach.

Copy link
Copy Markdown
Contributor Author

@Tener Tener Jul 15, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The command is a replacement for editing. If the argument to -e is a file, the result is the same: we fill in entity_descriptor field (which is the recommended "pinning"). If the argument is a URL, we will fill the entity_descriptor_url field ("floating" approach). I agree the paragraph could use rephrasing to make it clear.

Comment thread docs/pages/setup/admin/github-sso.mdx Outdated
Teleport will request only the `read:org` OAuth scope. Read more about OAuth scopes in GitHub's documentation:
Teleport will request only the `read:org` OAuth scope. Read more about OAuth scopes in [GitHub's documentation](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/).

[GitHub OAuth scopes](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[GitHub OAuth scopes](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)

[GitHub OAuth scopes](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/)

Finally, create the connector using `tctl`:
To ensure the connector is working as intended: SSO flow is passing, roles are assigned as intended etc., you can now test it using [`tctl sso test`](../reference/cli.mdx#tctl-sso-test) command.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
To ensure the connector is working as intended: SSO flow is passing, roles are assigned as intended etc., you can now test it using [`tctl sso test`](../reference/cli.mdx#tctl-sso-test) command.
To ensure that the SSO flow is working and roles are assigned as intended, you can now test your GitHub connector using the `tctl sso test` command.

Removing the link since we'll be explaining the command here. We can add links to the CLI reference in a "Next steps" section. Also tightening up this sentence a bit.


Finally, create the connector using `tctl`:
To ensure the connector is working as intended: SSO flow is passing, roles are assigned as intended etc., you can now test it using [`tctl sso test`](../reference/cli.mdx#tctl-sso-test) command.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should add a sentence explaining what this command does.

Comment thread docs/pages/setup/admin/github-sso.mdx Outdated
Comment thread docs/pages/setup/admin/github-sso.mdx Outdated
@ptgott
Copy link
Copy Markdown
Contributor

ptgott commented Jul 20, 2022

@Tener Sorry for the delay on this. I've answered some of your questions. Please let me know if you don't have the bandwidth for any of my suggested changes and I can either propose them as issues or make time to work on them myself.

@Tener
Copy link
Copy Markdown
Contributor Author

Tener commented Jul 21, 2022

@Tener Sorry for the delay on this. I've answered some of your questions. Please let me know if you don't have the bandwidth for any of my suggested changes and I can either propose them as issues or make time to work on them myself.

@ptgott I can work on these points at low intensity, no problem.

It is taking a considerable time though, and I lack a coherent vision of what the SSO guides should look like.

The guides have grown organically over the years - perhaps it would be a good idea to refresh them in bulk? That would have to be a Docs team BoW item, though.

@zmb3
Copy link
Copy Markdown
Collaborator

zmb3 commented Oct 14, 2022

@ptgott @Tener this one is 3 months old now - what's the plan? Do we still want to push this through or should be close it?

@Tener Tener closed this Oct 17, 2022
@Tener
Copy link
Copy Markdown
Contributor Author

Tener commented Oct 17, 2022

I'll raise a request in the Docs queue using this PR as reference.

@alexfornuto alexfornuto self-assigned this Oct 17, 2022
@zmb3 zmb3 deleted the tener/sso-docs-p1 branch April 26, 2023 22:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants