@@ -28,7 +28,7 @@ and OAuth2 Authorization Server instead. There are some differences
2828in the details between the two sets but overall the entities work much the same
2929way.
3030
31- OAuth2 and thereby OpenID Connect (OIDC) are build on a request-response paradigm.
31+ OAuth2 and thereby OpenID Connect (OIDC) are built on a request-response paradigm.
3232The RP issues a request and the OP returns a response.
3333
3434The OIDC core standard defines a set of such request-responses.
@@ -43,12 +43,12 @@ occur:
43436. User info
4444
4545When a user accessing the web service for some reason needs to be authenticate
46- or the service needs a access token that allows it to access some resources
46+ or the service needs an access token that allows it to access some resources
4747at a resource service on behalf of the user a number of things will happen:
4848
4949Find out which OP to talk to.
5050 If the RP handler is configured to only communicate to a defined set of OPs
51- then the user is probable presented a list to chose from.
51+ then the user is probable presented a list to choose from.
5252 If the OP the user wants to authenticated at is unknown to the RP Handler
5353 it will use some discovery service to, given some information provided by
5454 the user, find out where to learn more about the OP.
@@ -62,7 +62,7 @@ Gather information about the OP
6262 provider info discovery service provided by OIDC.
6363
6464Register the client with the OP
65- Again this can be done beforehand or it can be done on-the-fly when needed.
65+ Again, this can be done beforehand, or it can be done on-the-fly when needed.
6666 If it's done before you will have to use a registration service provided by
6767 the organization responsible for the OP.
6868 If it's to be done on-the-fly you will have to use the dynamic client
@@ -103,8 +103,8 @@ Microsoft
103103 done manual. What it comes down to is that you will only need services
104104 2 and 4.
105105
106- Github
107- Now, to begin with Github is not running an OP they basically have an
106+ GitHub
107+ Now, to begin with GitHub is not running an OP they basically have an
108108 Oauth2 AS with some additions. It doesn't support dynamic provider info
109109 discovery or client registration. If expects response_type to be *code *
110110 so services 4,5 and 6 are needed.
@@ -124,7 +124,7 @@ authorization/authentication for one user starting with the authorization reques
124124Tier 1 API
125125----------
126126
127- The high level methods you have access to (in the order they are to be
127+ The high- level methods you have access to (in the order they are to be
128128used) are:
129129
130130:py:meth: `oidcrp.RPHandler.begin `
@@ -150,7 +150,7 @@ like this::
150150
151151 state=Oh3w3gKlvoM2ehFqlxI3HIK5&scope=openid&code=Z0FBQUFBQmFkdFFjUVpFWE81SHU5N1N4N01&iss=https%3A%2F%2Fexample.org%2Fop&client_id=zls2qhN1jO6A
152152
153- After the RP has recieved this response the processing continues with:
153+ After the RP has received this response the processing continues with:
154154
155155:py:meth: `oidcrp.RPHandler.get_session_information `
156156 In the authorization response there MUST be a state parameter. The value
@@ -173,8 +173,8 @@ After the RP has recieved this response the processing continues with:
173173Tier 2 API
174174----------
175175
176- The tier 1 API is good for getting you started with authenticating an user and
177- getting user information but if you're look at a long term engagement you need
176+ The tier 1 API is good for getting you started with authenticating a user and
177+ getting user information but if you're look at a long- term engagement you need
178178a finer grained set of methods. These I call the tier 2 API:
179179
180180:py:meth: `oidcrp.RPHandler.do_provider_info `
@@ -239,15 +239,15 @@ authorization request and accepted by the user.
239239 response will be True or False depending in the state of the authentication.
240240
241241:py:meth: `oidcrp.RPHandler.get_valid_access_token `
242- When you are issued a access token they normally comes with a life time.
242+ When you are issued a access token it normally comes with a life time.
243243 After that time you are expected to use the refresh token to get a new
244- access token. There are 2 ways of finding out if the access token you have
245- passed their life time. You can use this method or you can just try using
244+ access token. There are 2 ways of finding out if the access token you have is
245+ past its life time. You can use this method or you can just try using
246246 the access token and see what happens.
247247
248- Now, if you use this method and it tells you you have an access token
249- that should still be usable. That is no guarantee that that is the case .
250- things may have happened on the OPs side that makes the access token
248+ Now, if you use this method and it tells you that you have an access token
249+ that should still be usable, that is no guarantee it is still usable .
250+ Things may have happened on the OPs side that makes the access token
251251 invalid. So if this method only returns a hint as to the usability of the
252252 access token.
253253
@@ -299,7 +299,7 @@ behavior
299299keys
300300 If the OP doesn't support dynamic provider discovery it may still want to
301301 have a way of distributing keys that allows it to rotate them at anytime.
302- To accomplish this some providers have choosen to publish a URL to where
302+ To accomplish this some providers have chosen to publish a URL to where
303303 you can find their OPs key material in the form of a JWKS.
304304
305305 Usage example::
@@ -463,10 +463,10 @@ there. And in this case this is it. All the user info will be included in the
463463
464464
465465-------------------------
466- RP configuration - Github
466+ RP configuration - GitHub
467467-------------------------
468468
469- As mentioned before Github runs an OAuth2 AS not an OP.
469+ As mentioned before GitHub runs an OAuth2 AS not an OP.
470470Still we can talk to it using this configuration::
471471
472472 {
@@ -495,15 +495,15 @@ Still we can talk to it using this configuration::
495495 }
496496
497497Part by part.
498- Like with Google and Microsoft, Github expects you to register your client in
499- advance. You register teh redirect_uris and in return will get *client_id * and
498+ Like with Google and Microsoft, GitHub expects you to register your client in
499+ advance. You register the redirect_uris and in return will get *client_id * and
500500*client_secret *::
501501
502502 'client_id': 'eeeeeeeee',
503503 'client_secret': 'aaaaaaaaaaaaa',
504504 "redirect_uris": ["{}/authz_cb/github".format(BASEURL)],
505505
506- Since Github doesn't support dynamic provder info discovery you have to enter
506+ Since GitHub doesn't support dynamic provder info discovery you have to enter
507507that information in the configuration::
508508
509509 "issuer": "https://github.com/login/oauth/authorize",
@@ -516,7 +516,7 @@ that information in the configuration::
516516 "https://api.github.com/user"
517517 },
518518
519- Regarding the client behaviour the Github AS expects response_type *code *.
519+ Regarding the client behaviour the GitHub AS expects response_type *code *.
520520The number of scope values is rather large I've just chose 2 here.
521521No client authentication at the token endpoint is expected::
522522
@@ -529,9 +529,9 @@ No client authentication at the token endpoint is expected::
529529And about services, *Authorization * as always, *AccessToken * to convert the
530530received *code * in the authorization response into an access token which later
531531can be used to access user info at the userinfo endpoint.
532- Github deviates from the standard in a number of way. First the Oauth2
532+ GitHub deviates from the standard in a number of way. First the Oauth2
533533standard doesn't mention anything like an userinfo endpoint, that is OIDC.
534- So Github has implemented something that is inbetween OAuth2 and OIDC.
534+ So GitHub has implemented something that is in between OAuth2 and OIDC.
535535What's more disturbing is that the accesstoken response by default is not
536536encoded as a JSON document which the standard say but instead it's
537537urlencoded. Lucky for us, we can deal with both these things by configuration
0 commit comments