Skip to content

Bug 1442252 - Reorg of the Configuring Authentication and User Agent page #4196

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

mburke5678
Copy link
Contributor

@mburke5678 mburke5678 commented Apr 18, 2017

@mburke5678
Copy link
Contributor Author

Preview page:
file.rdu.redhat.com/mburke/mburke-BZ-1442252/mburke-BZ-1442252/install_config/configuring_authentication.html

@mburke5678
Copy link
Contributor Author

@liggitt
Jordan -- Are you willing/able to take a look at the changes I made to this file?
file.rdu.redhat.com/mburke/mburke-BZ-1442252/mburke-BZ-1442252/install_config/configuring_authentication.html

The changes are mostly organizational in nature. I moved things around in the Identity Providers section so that each sub-section has the same flow:
Intro

  1. Edit master config with example config
  2. Restart OSE.

Any information apart from how to edit the master config in a given section, I moved after the master config section.

I did some editing also; want to make sure I didn't affect any technical meaning.

Thank you in advance.

When set to the default `*claim*` value, OAuth will fail if the identity is
mapped to a previously-existing user name. The following table outlines the use
cases for the available `*mappingMethod*` parameter values:
<1> When `fasle` true, unauthenticated token requests from web clients (like the web console) are no redirected to a login page backed by this provider..
Copy link

Choose a reason for hiding this comment

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

?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Not sure what happened. Apologies.
I wanted to highlight this parameter as it is the only identity provider type in the group that takes a false and attempt to explain what false does.
<1> Set to false. Unauthenticated token requests from web clients (like the web console) are not redirected to a login page backed by this provider.

Copy link

Choose a reason for hiding this comment

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

it can be either true or false... it is immaterial to the mappingMethod example

Copy link

Choose a reason for hiding this comment

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

the meaning and impact of that field are described in every identity provider section, e.g. https://github.com/openshift/openshift-docs/pull/4196/files/c3f66e2ac1028aba572fb5893a09378e5653e39b#diff-c98c76519811b1acc60caf55898fa747R385

<2> When true, unauthenticated token requests from web clients (like the web console) are redirected to a login page backed by this provider.

user name. Fails if a user with that user name is already mapped to another
identity.
[[mapping-identities-to-users-table]]
. Set the `login`parameter to `false`.
Copy link

Choose a reason for hiding this comment

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

remove this, the login parameter has nothing to do with mappingMethod

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Should this be true?
login: true

Copy link

Choose a reason for hiding this comment

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

it doesn't matter... everything except mappingMethod could be elided


[cols="2,8"]
|===
|Parameter | Description
Copy link

Choose a reason for hiding this comment

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

I find the table easier to read, personally

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I put the table back under Step 1.

=== Allow All
Set *AllowAllPasswordIdentityProvider* in the `*identityProviders*` stanza to
allow any non-empty user name and password to log in. This is the default
=== Configuring the Allow All Identity Provider
Copy link

@liggitt liggitt Apr 25, 2017

Choose a reason for hiding this comment

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

do we want subpages for the different providers?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I was thinking the same thing. Some are very long. Maybe Phase II?


. Generate a search filter by combining the attribute and filter in the
The following is the {product-title} process. {product-title}:
Copy link

Choose a reason for hiding this comment

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

this reads as "The following is the OpenShift Container Platform process. OpenShift Container Platform:" which doesn't make any sense

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed

validated against a remote URL that is protected by Basic authentication and
returns JSON.

A `401` response indicates failed authentication.
Copy link

Choose a reason for hiding this comment

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

this got dropped, and is essential information

Copy link

Choose a reason for hiding this comment

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

ah, it got moved below the example, nevermind


A `401` response indicates failed authentication.

A non-`200` status, or the presence of a non-empty "error" key, indicates an
Copy link

Choose a reason for hiding this comment

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

this got dropped, and is essential information

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Appears after the example in a section called "Failed Authentication":
Failed Authentication
A 401 response indicates failed authentication.
A non-200 status, or the presence of a non-empty "error" key, indicates an error:


To redirect unauthenticated requests from clients expecting `WWW-Authenticate` challenges:
[[redirect-www-challenges]]
*Configuire for `WWW-Authenticate` Challenges*
Copy link

Choose a reason for hiding this comment

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

typo Configuire

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed


* `${url}` is replaced with the current URL, escaped to be safe in a query parameter.
+
// tag::IDP-urlquerytokens[]
Copy link

Choose a reason for hiding this comment

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

what is this?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is a tag to create a section of text that I imported later in the topic.

. Configure which link:http://openid.net/specs/openid-connect-core-1_0.html#StandardClaims[claims] to use:
+
----
claims:
Copy link

@liggitt liggitt Apr 25, 2017

Choose a reason for hiding this comment

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

this snippet is disconnected from the larger example, which makes it difficult to understand (for example, the indent level would be wrong if someone copied this into their config)

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good point. I wanted to highlight and explain that section better; but, I can see how that could be confusing. Removed the second snippet.

+
----
claims:
id: <4>
Copy link

Choose a reason for hiding this comment

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

the footnote numbers start at 4?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed

- email
----
+
.. At least one claim to use as the user's identity. The standard identity claim is `sub`.
Copy link

Choose a reason for hiding this comment

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

sentence fragment, not connected to the line in the example by a footnote reference

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed

endif::[]

[[open_id_connect_full]]
*Configuring Full Master Configuration*
Copy link

Choose a reason for hiding this comment

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

this is rendering in a monospace font, which looks really weird to me for a section header

. Configure which link:http://openid.net/specs/openid-connect-core-1_0.html#StandardClaims[claims] to use:
+
----
claims:
Copy link

Choose a reason for hiding this comment

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

same comments about detached snippet

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed

+
----
claims:
id: <4>
Copy link

Choose a reason for hiding this comment

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

and odd starting number

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed

- email
----
+
.. At least one claim to use as the user's identity. The standard identity claim is `sub`.
Copy link

Choose a reason for hiding this comment

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

and lack of number correlation with example

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed.

When adding or changing identity providers, you can map identities from the new
provider to existing users by setting the `*mappingMethod*` parameter to
`*add*`.

After saving changes to the master configuration file, you must restart the {product-title} services for the changes to take effect:
Copy link

Choose a reason for hiding this comment

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

This is true for every item in the master config file. Do we really need to repeat this after every section on every page?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good question. I am not a typical user and had trouble with setting an identity because I did not restart, as the step was not in the docs. Is this something our typical users would know to do? I was asked to make that requirement "more explicit" on the page.
I was thinking that the user might jump right to the section he wants, say HTPasswd, and not see the restart requirement if not right there in the procedure.
It does seem redundant, but only when reading through all of the provider types.

Copy link

Choose a reason for hiding this comment

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

restarting a server after changing config is typical, and I would expect cluster operators to know that. repeating restart instructions after every example that references changing the master config adds noise, imo.

----
...
oauthConfig:
identityProviders:
- name: htpasswd_auth
challenge: true
login: false
mappingMethod: "claim"
login: false <1>
Copy link

Choose a reason for hiding this comment

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

remove this footnote number, only the mappingMethod is important in this section

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Removed

. Set the `mappingMethod`parameter as needed.
+
* `claim`. The default value. Provisions a user with the identity's preferred
user name. OAuth fails if a user with that user name is already mapped to another
Copy link

Choose a reason for hiding this comment

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

s/OAuth/Login/

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed

@liggitt
Copy link

liggitt commented Apr 25, 2017

did a quick pass. there were enough typos and formatting issues introduced that it deserves a review from a doc team member as well

@mburke5678
Copy link
Contributor Author

@liggitt What if, for the restart, we do something like:
"Edit the master configuration file and restart the OpenShift Container Platform service."

See the Allow All section.

@mburke5678
Copy link
Contributor Author

@adellape @bmcelvee PTAL. I reorganized the information in this topic to create a better flow, particularly in the Identity Providers section. I gave the sections an "Edit the master config, example config, restart services" flow and moved additional information after the restart, where appropriate.
@liggitt suggested having the restart step in each section is extraneous; but @aheslin suggested "If the user needs to restart, we should state it." I would appreciate a second opinion on this from a docs style perspective.
Also, @liggitt suggested creating a sub-topic for each of the identity providers, I tend to agree as the topic is long, and the user, I would think, only needs to be concerned with one or a couple of providers, not all.

@adellape
Copy link
Contributor

@mburke5678 I haven't gone through the changes in this PR yet, but I would agree with it probably being time to break up this topic into a subdirectory of multiple topics, kinda like the "Configuring Persistent Storage" topics here:

https://docs.openshift.com/container-platform/3.5/install_config/persistent_storage/

@mburke5678
Copy link
Contributor Author

@adellape Can I ask you to take a look at the changes I have made to make sure they look OK by tech writing and RH doc perspective before I ask if @liggitt could look to make sure I didn't make any changes that affect things from a technical perspective?
http://file.rdu.redhat.com/mburke/mburke-BZ-1442252/mburke-BZ-1442252/install_config/authentication/index.html

@mburke5678 mburke5678 force-pushed the mburke-BZ-1442252 branch 2 times, most recently from 0545b2b to 228663b Compare May 3, 2017 14:42
Copy link
Contributor

@adellape adellape left a comment

Choose a reason for hiding this comment

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

Leaving some comments I've got so far.

_topic_map.yml Outdated
Topics:
- Name: Overview
File: index
- Name: Configuring Allow All Authentication
Copy link
Contributor

Choose a reason for hiding this comment

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

I think all of these "Configuring"s could be dropped at the beginning of the various identity provider topics, just to clean up how it looks in the left-nav. But leave "Configuring" in the title of the .adocs themselves.

:toc-title:
:prewrap!:


Copy link
Contributor

Choose a reason for hiding this comment

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

For all of these topics that don't have multiple subtopics in them and therefore no need for a TOC, you can add the following here to make the spacing look a little better at the top of the page:

{nbsp} +

Or maybe just go ahead and add the toc::[] anyway as well, in case later some subtopics are added (the TOC won't render until there actually are subtopics):

toc::[]
{nbsp} +


To configure the Allow All identity provider:

//tag::configuring_authentication_common_steps1[]
Copy link
Contributor

Choose a reason for hiding this comment

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

👍

:prewrap!:


Setting the *AllowAllPasswordIdentityProvider* in the `*identityProviders*` stanza allows any non-empty user name and password to log in. This is the default
Copy link
Contributor

Choose a reason for hiding this comment

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

Throughout, any place where we still have backtick+asterisk like this, while you're here might as well simplify them down to just backticks (since we updated our guidelines to no longer do the former). The single asterisks (like *AllowAllPasswordIdentityProvider*) could also just be backticks now too.

|===
//end::configuring_authentication_common_steps2[]

. Specify the following values to configure the allow all provider:
Copy link
Contributor

Choose a reason for hiding this comment

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

Allow All

[[advanced-install-configuring-oauth]]
=== Configuring OAuth

xref:../architecture/infrastructure_components/kubernetes_infrastructure.adoc#master[master]
Copy link
Contributor

Choose a reason for hiding this comment

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

Missing a word at the front here.

@mburke5678 mburke5678 force-pushed the mburke-BZ-1442252 branch from 7f9ddd5 to af81f91 Compare May 15, 2017 20:27
@mburke5678 mburke5678 force-pushed the mburke-BZ-1442252 branch from e34b5f7 to be5621b Compare June 5, 2017 20:03
@mburke5678 mburke5678 changed the title WIP Bug 1442252 - Edits to the Configuring Authentication and User Agent page Bug 1442252 - Edits to the Configuring Authentication and User Agent page Jun 6, 2017
@mburke5678 mburke5678 added this to the Next Release milestone Jun 6, 2017
@mburke5678 mburke5678 force-pushed the mburke-BZ-1442252 branch from d05917d to ac81831 Compare June 6, 2017 00:55
@mburke5678
Copy link
Contributor Author

@liggitt Can you please take another look to make sure I made your changes as expected?
@openshift/team-documentation PTAL, I took the install-config/configuring-authentication topic and broke out each section into a subtopic, as the original topic was very long and each section is independent of one another (ie, the user would select and use one form of authentication). Can someone take a look to make sure it all looks OK?

@liggitt
Copy link

liggitt commented Jun 6, 2017

@liggitt Can you please take another look to make sure I made your changes as expected?

Unfortunately, I can't track the content changes among the topic split

@mburke5678 mburke5678 changed the title Bug 1442252 - Edits to the Configuring Authentication and User Agent page Bug 1442252 - Reorg of the Configuring Authentication and User Agent page Aug 25, 2017
@ncbaratta ncbaratta added the peer-review-done Signifies that the peer review team has reviewed this PR label Nov 9, 2017
@vikram-redhat
Copy link
Contributor

@mburke5678 - not sure what the status of this is. Did you want to close it and create a new PR once 3.7 is done?

@openshift-ci-robot openshift-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. label Nov 20, 2017
@vikram-redhat vikram-redhat modified the milestones: Next Release, Staging Jan 8, 2018
@openshift-bot openshift-bot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 18, 2018
@openshift-bot
Copy link

@mburke5678: PR needs rebase.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@gaurav-nelson
Copy link
Contributor

Thanks @mburke5678

👋

@mburke5678 mburke5678 deleted the mburke-BZ-1442252 branch August 2, 2018 16:15
@mburke5678 mburke5678 restored the mburke-BZ-1442252 branch August 2, 2018 18:46
@mburke5678 mburke5678 deleted the mburke-BZ-1442252 branch August 2, 2018 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
branch/enterprise-3.4 branch/enterprise-3.5 branch/enterprise-3.6 needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. peer-review-done Signifies that the peer review team has reviewed this PR size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants