Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>If you have a Pluralsight account, there is an excellent course by Dominick Baier that has <a href="http://pluralsight.com/training/courses/TableOfContents?courseName=oauth2-json-web-tokens-openid-connect-introduction&amp;highlight=dominick-baier_oauthintro-m3-jwt%2a3!dominick-baier_oauthintro-m2-securitystack" rel="nofollow">a section that covers this</a> (in the "JWT Structure and Format" section). They have a 10 day free trial you can use if you want.</p> <blockquote> <p>First two segments are just Base64-encoded plaintext. Got that much; that was easy to decode and parse with JavaScriptSerializer. What I'm stuck on is the third segment, which as I understand it needs to be used to verify the Google JWT as valid and untouched by any malicious code.</p> </blockquote> <p>According to Dominick, to get the third segment, you base-64 encoded the first two segments, concatenate them with a period character, and then run through the signature algorithm specified in the <code>alg</code> element of the header (which is in the first segment). Then you base-64 the result and you have the third segment - also separated with a period.</p> <p>But I should point out that even Google says <a href="https://developers.google.com/accounts/docs/OAuth2" rel="nofollow">in the main documentation</a>:</p> <blockquote> <p>The mechanics of this interaction require applications to create and cryptographically sign JSON Web Tokens (JWTs). Developers are strongly encouraged to use a library to perform these tasks. Writing this code without the use of a library that abstracts token creation and signing is prone to errors that can have a severe impact on the security of your application.</p> </blockquote> <p>Since DotNetOpenAuth does this already, that is probably the best way to go. If you are looking for a Google OAuth2 implementation that is ready to use with DotNetOpenAuth - you can <a href="https://github.com/mj1856/DotNetOpenAuth.GoogleOAuth2" rel="nofollow">try mine</a>. It's had several thousand downloads on Nuget already, so you're not alone.</p> <p>In regards to DNOA not being maintained, I believe you are referring to <a href="http://blog.nerdbank.net/2013/06/moving-on-dotnetopenauth-in-search-for.html" rel="nofollow">Andrew Arnott's decision to step down as the lead developer</a>. That is true, and we wish him well. But that doesn't mean DNOA isn't supported or maintained at all. It just means that it is supported by the community, rather than an individual or company. You should be able to continue to get help and support here on StackOverflow, or on the <a href="https://groups.google.com/forum/#!forum/dotnetopenid" rel="nofollow">DNOA Google Group</a>.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload