OpenLiberty / docs

See Open Liberty documentation on https://openliberty.io/docs/
https://openliberty.io/docs/
Other
13 stars 47 forks source link

SSO intro topic #1676

Closed lauracowen closed 3 years ago

lauracowen commented 4 years ago

This new SSO intro topic is drafted based on sections from each of the following topics:

Instead of providing non-Liberty-specific info about the topics, we can link elsewhere to that info. In the topics we provide, we can explain how to use that tech with Liberty. The JWT one has a slightly longer because it's a newer tech, it's what we'd like people to use, and MP JWT doesn't have that much doc out there already.

When this topic is completed, the individual SSO topics above should be deleted from draft (they're superceded by this shorter version).

I've left a bunch of comments in the file in bold that need completing. Then the whole thing just checking over that it makes coherent sense.

Where you're adding links to external info, see what you can find (for a start, provide multiple links if you think they're good and we can discuss which is best). I'm going to discuss with David and Charlotte what kind of guidance we should follow in terms of where is best to provide links to.

Rwalls1 commented 4 years ago

@lauracowen I've made some updates. For your comment about TLS in each section, are you implying that you think TLS configuration should be mentioned within SSO description? Also, are you questioning whether "transmission" is technically accurate? : https://draft-openlibertyio.mybluemix.net/docs/ref/general/#single-sign-on.html

lauracowen commented 4 years ago

@Rwalls1

lauracowen commented 4 years ago

@Rwalls1 "transmission" should be fine. Alasdair suggested this text for David's TLS topic: "It is also an important protocol for authenticated access to websites. Securing the transmission of authentication tokens such as JSON Web Tokens with TLS helps ensure that user credentials are not exposed as they are passed among different applications and services." That's basically the point I was trying to capture in your SSO topic.

Rwalls1 commented 4 years ago

@lauracowen Please review the latest update, I confirmed with Bruce Tiffany that TLS is relevant for all of the SSO methods, so I removed the reference in the individual sections: https://draft-openlibertyio.mybluemix.net/docs/ref/general/#single-sign-on.html

lauracowen commented 4 years ago

Thank you! A mix of really minor comments and some requests for slightly more info in places:

Rwalls1 commented 4 years ago

@lauracowen Please review, I think I've addressed most of your feedback, I will discuss the point about linking further with David as I noticed the syntax may need to be updated across several topics based on your suggestion: https://draft-openlibertyio.mybluemix.net/docs/ref/general/#single-sign-on.html

lauracowen commented 4 years ago

I've just signed this off but could you change the LTPA link to this wikipedia one instead? https://en.wikipedia.org/wiki/IBM_Lightweight_Third-Party_Authentication I know it's not so detailed but the reader can always google for more. The reason I think we should change is that LTPA is an IBM WAS technology so going to the wikipedia page is probably better than to a website I've never heard of.

Other links look fine i think.

Rwalls1 commented 4 years ago

@lauracowen Thanks, I have updated the link.

Rwalls1 commented 4 years ago

@ManasiGandhi Please peer review: https://draft-openlibertyio.mybluemix.net/docs/ref/general/#single-sign-on.html

ManasiGandhi commented 4 years ago

peer review. @rw2513 The topic looks good! Just a few suggestions.

Introduction

Social media login

JSON Web Tokens (JWT)

LTPA

General

Rwalls1 commented 4 years ago

@ManasiGandhi Thanks, I've incorporated your feedback where appropriate

Rwalls1 commented 4 years ago

New link: https://draft-openlibertyio.mybluemix.net/docs/20.0.0.9/single-sign-on.html

Rwalls1 commented 4 years ago

PR: https://github.com/OpenLiberty/docs/pull/1878/files

Rwalls1 commented 4 years ago

Editing References: https://learning.oreilly.com/library/view/developing-quality-technical/9780133119046/ch10.html https://learning.oreilly.com/library/view/developing-quality-technical/9780133119046/ch06.html

Rwalls1 commented 4 years ago

New topic link: https://draft-openlibertyio.mybluemix.net/docs/20.0.0.11/single-sign-on.html

dmuelle commented 4 years ago

comments from @utle in #2749

chirp1 commented 4 years ago

@Rwalls1 Hi Richard, this topic has a link to the SPNEGO spec: https://www-01preview.ibm.com/support/knowledgecenter/SSAW57_9.0.5/com.ibm.websphere.nd.multiplatform.doc/ae/csec_SPNEGO_explain.html In your topic, use the SPNEGO spec link as the link to more SPNEGO information.

chirp1 commented 4 years ago

@Rwalls1 HI! I see that you have one editorial reference. Please go back and use another one to spruce the topic and list the editorial reference in this issue.

More editorial comments:

Rwalls1 commented 4 years ago

Comments from @wrodrig

The following hyperlinks are not working

Here is the link https://draft-openlibertyio.mybluemix.net/docs/20.0.0.11/single-sign-on.html Under SPNEGO the hyperlink Configuring SPNEGO authentication in Open Liberty. is not working.

Also under SAML You can configure Open Liberty to enable SAML single logout. SAML single logout is a near-simultaneous logout of a user from a specific authentication session and from all active service provider sessions that are associated with the authentication session. Single logout can be initiated by both the service provider and the identity provider. To configure SAML for your application, you can enable the samlWeb feature.

samlWeb is not working

Rwalls1 commented 4 years ago

Comments from @wrodrig:

Hi, Thank you for your review. It seems like some of the links two links that were reported are now working but now, the Transport Layer Security TLS hyperlink is broken:

You can configure Transport Security Layer (TLS) to encrypt communication between services for any SSO method that you choose so that the authentication tokens are not intercepted during transmission. For more information, see Secure communication with Transport Layer Security (TLS).

And the social login hyperlink is broken: To configure Social Media Login for your application, you can enable the socialLogin feature.

Thanks again for all the hard work with this documentation.

Regards,

Rwalls1 commented 4 years ago

@wrodrig Please review, the links should be fixed now: https://draft-openlibertyio.mybluemix.net/docs/20.0.0.11/single-sign-on.html

Rwalls1 commented 4 years ago

@chirp1 Thanks, I have addressed your comments. The phrase "uses the OAuth or OpenID Connect (OIDC) standard" is correct because you can use either individually for authentication. I added an additional sentence to explain the relationship between the two.

chirp1 commented 4 years ago

@Rwalls1 Hi Richard,

Here are my comments:

Rwalls1 commented 4 years ago

@chirp1 Thanks I've addressed most of your feedback, The link to the guide was working properly, the 404 error was due to the draft site being rebuilt while a build was running. I removed the Active Directory section and added a reference to Active Directory in the Social Media Login section based on feedback from Laura in a related issue. Also, I couldn't find an official spec for Social media login or LTPA, do you have an idea for what would be an acceptable authoritative source to include for either Social Login or LTPA: https://draft-openlibertyio.mybluemix.net/docs/20.0.0.11/single-sign-on.html

chirp1 commented 4 years ago

@Rwalls1 Hi Richard, Here are my comments:

lauracowen commented 4 years ago

Links and specs Please don't link to specs for basic explanations of a concept like Social Media Login or JWT. Instead, link to websites that provide useful, understandable explanations of the concepts/technologies. Specs are primarily written for runtime developers to implement the runtime; they're not written for users/developers using the runtimes to develop applications. If they're interested in reading them they can find them on the internet. The links we're providing should be helping the user understand the basic concept, not the full spec. We shouldn't imply that they might need to go off to read the spec before they can understand the rest of the section. They just need basic introductions at that stage. If you must, add a link to the spec at the end of the section (or in parentheses somewhere if necessary).

For example, the JWT.io site provides a really nice explanation of what JWTs are at https://jwt.io/introduction/ (rather even than https://jwt.io/), which is why we don't try to re-explain the concept of JWTs. Please link to that from the first mention of JWT.

I think this matters less for things like Active Directory because, in this context, they'll be connecting to Active Directory because they have to (that's what their company has set up), not because they have to make a choice to use it but, even so, Microsoft has a more user-friendly explanation here: https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/get-started/virtual-dc/active-directory-domain-services-overview that we could probably use instead of just linking to the spec.

Feature names Regarding naming of features, David and Charlotte have some guidance on when to use the full name versus the configuration name of the feature.

Rwalls1 commented 4 years ago

Latest PR: https://github.com/OpenLiberty/docs/pull/2906/files

chirp1 commented 4 years ago

@Rwalls1 Hi Richard, Almost there!

lauracowen commented 4 years ago

Thanks - @Rwalls1 can you add back in the JWT.io/introduction link for JWT too pls - I found it useful for understanding what JWTs are?

lauracowen commented 4 years ago

LTPA - there should be something on ibm.com about LTPA as we (tWAS) own the definition of that.

chirp1 commented 4 years ago

@Rwalls1 The updates look good, Richard! Moving to "Ready to publish".

Charlotte-Holt commented 3 years ago

This published with Karen's editorial updates added. Closing this issue.