| // Copyright 2015 The Vanadium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| // This file was auto-generated by the vanadium vdl tool. |
| var vdl = require('../../../../../../vdl'); |
| |
| |
| |
| |
| |
| var security = require('./../../../../v23/security'); |
| |
| module.exports = {}; |
| |
| |
| |
| // Types: |
| var _type1 = new vdl.Type(); |
| var _type2 = new vdl.Type(); |
| var _typeBlessingRootResponse = new vdl.Type(); |
| _type1.kind = vdl.kind.LIST; |
| _type1.name = ""; |
| _type1.elem = vdl.types.STRING; |
| _type2.kind = vdl.kind.LIST; |
| _type2.name = ""; |
| _type2.elem = new security.Caveat()._type; |
| _typeBlessingRootResponse.kind = vdl.kind.STRUCT; |
| _typeBlessingRootResponse.name = "v.io/x/ref/services/identity.BlessingRootResponse"; |
| _typeBlessingRootResponse.fields = [{name: "Names", type: _type1}, {name: "PublicKey", type: vdl.types.STRING}]; |
| _type1.freeze(); |
| _type2.freeze(); |
| _typeBlessingRootResponse.freeze(); |
| module.exports.BlessingRootResponse = (vdl.registry.lookupOrCreateConstructor(_typeBlessingRootResponse)); |
| |
| |
| |
| |
| // Consts: |
| |
| |
| |
| // Errors: |
| |
| |
| |
| // Services: |
| |
| |
| |
| function OAuthBlesser(){} |
| module.exports.OAuthBlesser = OAuthBlesser; |
| |
| |
| |
| OAuthBlesser.prototype.blessUsingAccessToken = function(ctx, serverCall, token) { |
| throw new Error('Method BlessUsingAccessToken not implemented'); |
| }; |
| |
| |
| OAuthBlesser.prototype.blessUsingAccessTokenWithCaveats = function(ctx, serverCall, token, caveats) { |
| throw new Error('Method BlessUsingAccessTokenWithCaveats not implemented'); |
| }; |
| |
| |
| |
| OAuthBlesser.prototype._serviceDescription = { |
| name: 'OAuthBlesser', |
| pkgPath: 'v.io/x/ref/services/identity', |
| doc: "// OAuthBlesser exchanges OAuth access tokens for\n// an email address from an OAuth-based identity provider and uses the email\n// address obtained to bless the client.\n//\n// OAuth is described in RFC 6749 (http://tools.ietf.org/html/rfc6749),\n// though the Google implementation also has informative documentation at\n// https://developers.google.com/accounts/docs/OAuth2\n//\n// WARNING: There is no binding between the channel over which the access\n// token was obtained (typically https) and the channel used to make the RPC\n// (a vanadium virtual circuit). Thus, if Mallory possesses the access token\n// associated with Alice's account she may be able to obtain a blessing with\n// Alice's name on it.\n//\n// TODO(ataly): Get rid of this service once all clients have been\n// switched to use the HTTP OAuthBlessingHandler service.", |
| embeds: [], |
| methods: [ |
| |
| |
| { |
| name: 'BlessUsingAccessToken', |
| doc: "// BlessUsingAccessToken uses the provided access token to obtain the email\n// address and returns a blessing along with the email address.", |
| inArgs: [{ |
| name: 'token', |
| doc: "", |
| type: vdl.types.STRING |
| }, |
| ], |
| outArgs: [{ |
| name: 'blessing', |
| doc: "", |
| type: new security.WireBlessings()._type |
| }, |
| { |
| name: 'email', |
| doc: "", |
| type: vdl.types.STRING |
| }, |
| ], |
| inStream: null, |
| outStream: null, |
| tags: [] |
| }, |
| |
| |
| { |
| name: 'BlessUsingAccessTokenWithCaveats', |
| doc: "", |
| inArgs: [{ |
| name: 'token', |
| doc: "", |
| type: vdl.types.STRING |
| }, |
| { |
| name: 'caveats', |
| doc: "", |
| type: _type2 |
| }, |
| ], |
| outArgs: [{ |
| name: 'blessing', |
| doc: "", |
| type: new security.WireBlessings()._type |
| }, |
| { |
| name: 'email', |
| doc: "", |
| type: vdl.types.STRING |
| }, |
| ], |
| inStream: null, |
| outStream: null, |
| tags: [] |
| }, |
| |
| ] |
| }; |
| |
| |
| |
| function MacaroonBlesser(){} |
| module.exports.MacaroonBlesser = MacaroonBlesser; |
| |
| |
| |
| MacaroonBlesser.prototype.bless = function(ctx, serverCall, macaroon) { |
| throw new Error('Method Bless not implemented'); |
| }; |
| |
| |
| |
| MacaroonBlesser.prototype._serviceDescription = { |
| name: 'MacaroonBlesser', |
| pkgPath: 'v.io/x/ref/services/identity', |
| doc: "// MacaroonBlesser returns a blessing given the provided macaroon string.", |
| embeds: [], |
| methods: [ |
| |
| |
| { |
| name: 'Bless', |
| doc: "// Bless uses the provided macaroon (which contains email and caveats)\n// to return a blessing for the client.", |
| inArgs: [{ |
| name: 'macaroon', |
| doc: "", |
| type: vdl.types.STRING |
| }, |
| ], |
| outArgs: [{ |
| name: 'blessing', |
| doc: "", |
| type: new security.WireBlessings()._type |
| }, |
| ], |
| inStream: null, |
| outStream: null, |
| tags: [] |
| }, |
| |
| ] |
| }; |
| |
| |
| |
| |
| |