Index: Src/GoogleApis.Auth/GoogleJsonWebSignature.cs =================================================================== new file mode 100644 --- /dev/null +++ b/Src/GoogleApis.Auth/GoogleJsonWebSignature.cs @@ -0,0 +1,42 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace Google.Apis.Auth +{ + /// + /// Google JSON Web Signature as specified in https://developers.google.com/accounts/docs/OAuth2ServiceAccount. + /// + public class GoogleJsonWebSignature + { + // TODO(peleyal): We should provide a way to verify JWS. + // Take a look at: https://github.com/googleplus/gplus-verifytoken-csharp/blob/master/verifytoken.ashx.cs. + + /// + /// The header as specified in https://developers.google.com/accounts/docs/OAuth2ServiceAccount#formingheader. + /// + public class Header : JsonWebSignature.Header + { + } + + /// + /// The payload as specified in + /// https://developers.google.com/accounts/docs/OAuth2ServiceAccount#formingclaimset. + /// + public class Payload : JsonWebSignature.Payload + { + /// + /// a space-delimited list of the permissions the application requests or null. + /// + [Newtonsoft.Json.JsonPropertyAttribute("scope")] + public string Scope { get; set; } + + /// + /// The email address of the user for which the application is requesting delegated access. + /// + [Newtonsoft.Json.JsonPropertyAttribute("prn")] + public string Prn { get; set; } + } + } +}