AIRTEL INDIA OPEN API. Application Developer Guide for OAuth2 Authentication and Authorization. Document Version 1.1

Size: px
Start display at page:

Download "AIRTEL INDIA OPEN API. Application Developer Guide for OAuth2 Authentication and Authorization. Document Version 1.1"

Transcription

1 AIRTEL INDIA OPEN API Application Developer Guide for OAuth2 Authentication and Authorization Document Version 1.1 This Application Developer Guide has been prepared for Airtel India. Copyright Intel Corporation 2014; all rights reserved.

2 Document Revision History Rev # Date Description May 2014 The initial issue of Application Developer Guide for applications using the OAuth Service on the Airtel India API platform August 2014 Revised and restructured. Updated diagrams and descriptions for the sequence sections. Doc Version 1.1 2

3 Table of Contents Terminology About this Document Audience References OAuth Overview Application Configuration for AMP OAuth Using an OAuth-Protected Service Grant Types On-net vs Off-net Authorization Code Grant Type Authorization Code Sequence Authorization Code Parameters and Examples Authorization Request Generic, Payment and Subscriptions Authorization Response - Generic Authorization Error Response Access Token Request Generic Access Token Response - Generic Access Token Error Response - Generic Authorization Code Illustrations... Error! Bookmark not defined Code Illustration Authorization Request... Error! Bookmark not defined Code Illustration - Handling OAuth Callback... Error! Bookmark not defined. 4 Implicit Grant Type Implicit Grant Type Sequence Implicit Grant Parameters and Examples Authorization Request Generic, Payment and Subscriptions Access Token Response - Generic Access Token Error Response - Generic Implicit Grant Code Illustration... Error! Bookmark not defined. A. Appendix Payment Charge Request Examples Doc Version 1.1 3

4 Terminology Term Description or Terms in an acronym/abbreviation ACR Anonymous Customer Reference See: Aggregator AMP AoC ASE ATI Charge CP EULA One-Off purchase OTP Partner PCC PME PSCP PSE PSL REST SSO SOAP SMSC TPS URI URL Aggregators are intermediaries between the mobile carrier and content providers. They provide connectivity to Airtel for content providers. API Monetization Platform Advice of Charge API Services Enabler Airtel India Payment transaction Merchant or Content Provider End User License Agreement One time charge purchase (as opposed to a subscription for which the Payments and Settlement Engine generates user charges on a periodic basis) One Time Password Partner is the generic term for entities that connect to AMP. A partner may be an aggregator of content providers or a single content provider that directly connects to AMP. Purchase Category Code, the term used in OneAPI to denote Media Type Partner Management Engine Partner Self-Care Portal Payments and Settlement Engine Portal Service Layer (API layer of PME) Representational state transfer (REST or RESTful) is a style of software architecture for distributed systems such as the World Wide Web. Single Sign-On A web services protocol specification for exchanging structured information. It used to be called Simple Object Protocol but this definition is no longer valid. Short Message Service Centre Transactions per second Uniform resource identifier is a string of characters used to identify a name of a web resource. Uniform Resource Locator Doc Version 1.1 4

5 Terminology WSDL Web Services Description Language is an XML-based interface description language that is used for describing the functionality offered by a web service. Doc Version 1.1 5

6 About this Document 1 About this Document This document is a guide to building applications which access services protected by OAuth 2.0 authentication and authorization framework as provided by the OAuth Authorization Server on the Airtel India API service exposure platform. 1.1 Audience The intended audience for this document are programmers who are developing or modifying the applications to be registered on the Open API platform, designed to access Airtel India services protected by OAuth Assumption This document is designed to provide sufficient information to implement a working solution for using OAuth protected services. As such, it does not contain a description of the OAuth protocols. The concepts and requirements of OAuth 2.0 framework are defined in IETF RFC specifications referenced below. 1.3 References The following guides and specifications must be available for reference. Relevant sections are noted in the text, as applicable. Ref #1: Open API Partner Self-Care Portal Quick Start Guide Ref #2: OAuth 2.0 Authorization Framework RFC 6749 Specification at and Bearer Token Usage Specification RFC 6750 Also relevant are the following user guides: AMP-ATI Payment REST v2.1 API Guide AMP-ATI Subscriptions REST v1.0 API Guide Sample codes are available from the Open API Partner Self-Care Portal> Sample Applications tab. Doc Version 1.1 6

7 OAuth Overview 2 OAuth Overview AMP provides support for web services to be protected by OAuth 2.0 authentication and authorization framework. In the AMP-ATI v1.0 implementation, ASE Payment and Subscription services are available to be accessed via OAuth 2.0. AMP provides an Authorization Server component, configured with the following OAuth 2.0 endpoints: Authorization Endpoint - for user authorization access as directed by the application. This includes user authentication. Token Endpoint - for application access to obtain OAuth tokens. 2.1 Application Configuration for AMP OAuth An application requiring access to an OAuth protected ASE service must be provisioned with a service contract which includes both the protected service and the Authorization Proxy Service. The endpoints for the instances of these services can be viewed from the Partner Self-Care Portal. (Ref #1) Using the Authorization Endpoints and the ASE service public endpoints, the application developer can construct a sequence of requests according to the OAuth specification. These and the redirection URI for the application are configured by the platform administrator. 2.2 Using an OAuth-Protected Service To use an OAuth protected service, the request must include an Authorization header which contains a valid Access Token. The header used is of the Bearer type (Ref #2), for example: Authorization: Bearer 48eb90d1-cb7e-41dd-a e18 Examples of calls to an OAuth protected Payment service are provided in Appendix A. Sections 3.1 and 4.1 describe sequences of requests and responses for the application to obtain the Access Token from the OAuth server. 2.3 Grant Types AMP supports two of the OAuth 2.0 grant types (Ref #2), each with its specific flow and parameter requirements: Authorization Code Grant Type (the default type provisioned for a client, referred to as Authorization Code for short) described in chapter 3 Implicit Grant Type described in chapter 4 If a partner requires the Implicit grant type, they must request this through the support link on the partner self-care portal. The platform administrator will provision the requested grant type, if Doc Version 1.1 7

8 OAuth Overview approved, on behalf of the partner. There is no automatic approval and provisioning for this request. For detailed IETF specifications of how these flows work, please refer to the OAuth 2.0 specification (Ref #2). 2.4 On-net vs Off-net The user experience for authorization and the message exchange between the application and user, and between application and the Open API platform, is influenced by the type of network connection being used by the user device to access Airtel services. The diagram below illustrates at high level the two possibilities for mobile device connection: 1. On-net over the Airtel radio access network (RAN) to the secure Airtel network, i.e. on-net means connected on the Airtel mobile network 2. Off-net via the Internet, e.g. over Wifi Figure 1 Device Data Connection The on-net case allows the Airtel network gateway to inject the mobile subscriber directory number (MSISDN ) for the user into the authorization request, and by virtue that it is a trusted gateway on a secure network the authorization service can trust the authenticity of the MSISDN. Thus, when using the mobile network data connection the user is automatically authenticated, and this gives the best possible user experience by minimizing the amount of data the user must enter to provide authorization for an application. In this flow the user will only be presented with a consent page and Doc Version 1.1 8

9 OAuth Overview requested to accept or cancel the consent request. For the MSISDN injection to occur, the authorization request must be sent over HTTP, rather than to the secure endpoint for the authorization service. By contrast, the off-net case is over the Internet. Therefore, it does not transit an Airtel gateway and the messages are over an insecure network. The MSISDN number is not available in the authorization request, and even if the application is able to insert the MSISDN it cannot be trusted. For the off-net case secure messaging is required over HTTPS to a secure authorization endpoint exposed by the Open API platform. The user will be asked to enter their MSISDN, they will receive a one-time password (random4-digit number) in an SMS to that MSISDN and they will be asked to enter that password to authenticate that a valid MSISDN has been provided. Following that they will be presented with a consent page. In order to simplify application development, the authorization server can accept the initial authorization request on the insecure endpoint even for the off-net case. It can detect that the session is off-net and will redirect the user agent to a secure session. For efficiency and best possible user experience it will be preferable for an application to use the mobile network data connection and on-net authorization where possible. In the case that off-net data connection is the only choice, the application should, if possible, go directly to the secure end-point, avoiding redirection from the insecure end-point. Doc Version 1.1 9

10 Authorization Code Grant Type 3 Authorization Code Grant Type In the Authorization Code grant type implementation, the OAuth framework is used to keep subscriber authentication and authorization separate from the application and completely in the carrier network domain, and then to pass the generated Authorization Code to the application which it will use to obtain the Authorization Access Token to access the service. The Authorization Code grant type is used to obtain Access Tokens, and also Refresh Tokens where applicable. For a payment scope, however, a refresh token is not provided, and the access token is for single use only. This flow is relevant to and optimized for confidential clients. Since this is a redirection-based flow, the client must be capable of interacting with the resource owner's useragent (typically a web browser) and capable of receiving incoming requests (via redirection from the authorization server. This section provides the sequence diagram and flow, parameters required and returned in this type of OAuth grant, examples, and code illustrations. 3.1 Authorization Code Sequence An OAuth flow using the default Authorization Code grant type is depicted in a simplified sequence diagram below. It shows the three main events - to get the Authorization Code, to exchange it for the Access Token, and to use it to make a service call, such as on Payment API. Before the start of the sequence, the user (a subscriber) would have made a request to the partner s application to invoke the service, such as to purchase an item. This action invokes the OAuth sequence necessary to enable the required transaction to go ahead. Each sequence in the diagram is described in stepped order below the diagram. Figure 2 OAuth Sequence Authorization Code Grant Type Doc Version

11 Authorization Code Grant Type 1. Get Authorization Code The application initiates an OAuth authentication/authorization sequence by redirecting the subscriber to the Authorization Service at its Authorization Endpoint. The request must include the OAuth parameters. This includes response_type of code and other OAuth parameters, such as redirect_uri to specify the callback used later in the flow, and any parameters required by the specific scope associated with the request. For example, for a payment charge request, the amount and the currency must be specified. Section 3.3 lists Authorization request parameters, including the specific requirements for Payment and Subscription services. Service scopes are configured when the service is provisioned by the platform administrator. 2. User OAuth Server Interactions The call out section in the diagram is a summary of what takes place outside of the partner s domain, for the user to be authenticated and to give authorization/consent for the payment in interactions between the user and the OAuth server. If the user is on-net, the subscriber MSISDN is injected and enables automatic authentication and going straight to the Authorization page to give consent to the payment with the scope presented. If the user is off-net, the user will be required to input the OTP received at the MSISDN, on the Advice of Consent page before being redirected to the Authorization page. 3. Authorization Code When the user approves the authorization, the result is posted back to the redirect_uri of the application with the Authorization Code. If the user cancels the authorization, the result is still posted back. Table 3 lists response parameters, and Table 4 error response parameters. 4. Exchange for Token The application sends a request to the Authorization Service, using the Authorization Code, and exchanges it for the OAuth Access Token. Table 5 lists of Access Token request parameters. 5. Token Response The Access Token is returned in a JSON response, for example: access_token : 550e8400-e29b-41d4-a Table 6 lists Access Token response parameters. Error response parameters are listed in Table Use Token to make a service API call The application can now initiate the desired service transactions, including the Access Token in its request call using the Authorization Bearer header: Authorization: Bearer 550e8400-e29b-41d4-a Doc Version

12 Authorization Code Grant Type See an example of access token used in a Payment charge request in Appendix A. Parameters for the API call are described in the specific service API guide. 3.2 Authorization Code Parameters and Examples This section lists the parameters required in each of the OAuth request operations in the sequence described above, those returned in successful responses and in error responses, together with selected message examples. Notes are supplied for the operations where applicable.! OAuth applies to Payment: charge and Subscriptions: activate operations only. Payment: refund and Subscriptions: deactivate do not require user authorization. This section contains the following sub-sections: Authorization Request Generic, Payment and Subscriptions below Authorization Response Generic section Authorization Error Response Generic section Access Token Request Generic section Access Token Response Generic Access Token Error Response Generic Authorization Request Generic, Payment and Subscriptions The application (client) issues a redirect to the subscriber device browser in a GET operation as follows: the application constructs the request URI by adding the following parameters to the query component of the authorization endpoint URI using the "application/x-www-form-urlencoded" format.! For this OAuth operation, service specific parameters are required in addition to the generic parameters. The latter is presented in the first table, below, followed by tables for the service specific parameters Authorization Request Auth Code Grant Type - Generic Parameters Parameter Description Optional response_type Value MUST be set to "code". No client_id Application Name from the Application profile created via the Partner Self-Care Portal. No redirect_uri URL of a callback on the application. After completing its interaction with the resource owner, the authorization server directs the resource owner's user-agent back to the client. The authorization server redirects the user-agent to the client's redirection No Doc Version

13 Authorization Code Grant Type Parameter Description Optional endpoint previously established with the authorization server during the client registration process or when making the authorization request. The redirection endpoint URI MUST be an absolute URI and match an address configured on the AMP system. Such addresses will have been provided to AMP administrators as part of the registration process for the application. The endpoint URI MAY include an "application/x-www-form-urlencoded" formatted query component, which MUST be retained when adding additional query parameters. The endpoint URI MUST NOT include a fragment component. scope The scope of the resource access to be authorized, as defined on the authorization service for the service (resource) being requested. The value of the scope parameter is expressed as a list of space-delimited, casesensitive strings. For each operation for any service the associated scope may have mandatory parameters. If it does, these should also be supplied. For example, for payment, a charge amount operation (scope) requires amount and currency parameters. No! See the service-specific configuration notes for details of the scope for each service in the tables below. state An opaque value used by the client to maintain state between the request and callback. The authorization server includes this value when redirecting the user-agent back to the client. The parameter SHOULD be used for preventing cross-site request forgery Yes Table 1 Generic Authorization (Authorization Code grant type) Request Parameters Authorization Request Payment: charge In addition to the parameters listed in the generic section above, the following service specific parameters are required for a Payment charge operation. The URI is as follows, which includes the payment service specific parameters: amount={amount}&currency=[currency]&redirect_uri={redirect_uri}&scope={scope}&cli ent_id={client_id}&response_type=code&state={state]&pn={product_name}&pd{product_ description}&pc={pcc}&imgurl={image_url} Parameter Description/Value Optional imgurl URL of an image for presentation purposes. Only displayed when subscriber is using a smart phone connected through the Airtel data network. Yes Doc Version

14 Authorization Code Grant Type Parameter Description/Value Optional pn Product Name No pd Product Description No pc Product category code associated with your application No amount Amount to be charged (as decimal, e.g ) No currency Currency code, e.g. INR No scope Value = ChargeAmount. This is the scope required for the charge amount operation. This scope has the following parameters configured: amount currency No Table 2 Charge Authorization Request Parameters Authorization Request Subscription: activate In addition to the parameters listed in the generic section above, the following service specific parameters are required for a Subscriptions activate operation. The URI is as follows, which includes the suibscription service specific parameters: amount={amount}&currency=[currency]&redirect_uri={redirect_uri}&scope={scope}&cli ent_id={client_id}&response_type=code&state={state]&pn={product_name}&pd{product_ description}&pc={pcc}&pv={product_validity}&imgurl={image_url} Parameter Description/Value Optional imgurl URL of an image for presentation purposes. Only displayed when subscriber is using a smart phone connected through the Airtel data network. Yes pn Product Name No pd Product Description No pc Product category code associated with your application No pv Product Validity No amount Amount to be charged (as decimal, e.g ) No currency Currency code, e.g. INR No scope Value = Subscription. The scope required for the activate operation. This scope has no parameters. No Doc Version

15 Authorization Code Grant Type Authorization Request Example Table 3 Activate Subscription Authorization Request Parameters An example of a charge authorization request, as generated from a web browser page: GET amount=1.0&currency=inr&scope=chargeamount&client_id=d6340cac48f764ae2735aa3b02 20c762&state= &response_type=code&pn=Name&pd=Description&pc=testPC&redir ect_uri=http%3a%2f%2fmerchant.site.com%2fwebservice%2fbillme%2fcallback&imgurl= http%3a%2f%2fmerchant.site.com%2fgamezone%2fimages%2fempty.png Authorization Response - Generic If the user grants the access request, the authorization server issues an authorization code and delivers it to the application by adding the following parameters to the query component of the redirection URI using the "application/x-www-form-urlencoded" format. The client MUST ignore unrecognized response parameters. There are no service specific parameters in authorization responses. Parameter Description Present code The authorization code generated by the authorization server. The authorization code will normally be in form of a UUID and may include other identifiers. A length of up to 72 characters should be considered. However, the application should not make assumptions about the code value size. The authorization code will expire shortly after it is issued to mitigate the risk of leaks. A maximum authorization code lifetime of 10 minutes should be expected and the code should be used as soon as possible. The client MUST NOT use the authorization code more than once. If an authorization code is used more than once, the authorization server will deny the request. Always state PRESENT IF the "state" parameter was present in the client authorization request. The exact value received from the client. If in the request Table 4 Authorization Response Parameters Authorization Response Example An example of a successful authorization response to the application, including the authorization code. Browser interaction traces have been omitted from the initial request to this response. HTTP/ Found Date: Fri, 04 Apr :33:45 GMT Server: Jetty(7.6.7.v ) Location: a Content-Length: 0 Connection: close Content-Type: text/plain; charset=utf-8 Doc Version

16 Authorization Code Grant Type Authorization Error Response If the request fails due to a missing, invalid, or mismatching redirection URI, or if the application identifier is missing or invalid, the authorization server will inform the resource owner of the error and will not automatically redirect the user-agent to the invalid redirection URI. If the resource owner denies the access request or if the request fails for reasons other than a missing or invalid redirection URI, the authorization server informs the application by adding the following parameters to the query component of the redirection URI using the "application/x-wwwform-urlencoded" format. There are no service specific parameters in authorization error responses. Parameter Description Present error A single ASCII error code from the following: invalid_request The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. unauthorized_client The client is not authorized to request an authorization code using this method. access_denied The resource owner or authorization server denied the request. unsupported_response_type The authorization server does not support obtaining an authorization code using this method. invalid_scope server_error The requested scope is invalid, unknown, or malformed. The authorization server encountered an unexpected condition that prevented it from fulfilling the request. (This error code is needed because a 500 Internal Server Error HTTP status code cannot be returned to the client via an HTTP redirect.) temporarily_unavailable The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server. (This error code is needed because a 503 Service Unavailable HTTP status code cannot be returned to the client via an HTTP redirect.) Always error_description Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred. Values for the "error_description" parameter will not include characters outside the set %x20-21 / %x23-5b / %x5d-7e. Always Doc Version

17 Authorization Code Grant Type Parameter Description Present state PRESENT If a "state" parameter was present in the application authorization request. The exact value received from the application. If in the request Table 5 Authorization Error Response Parameters Access Token Request Generic The application makes a request to the token endpoint by sending the following parameters in a POST operation, using the "application/x-www-form-urlencoded" format with a character encoding of UTF-8 in the HTTP request entity-body. The URI is as follows: On receiving a successful authorization response, the following parameters are required in all access token requests, regardless of the applicable service. Parameter Description Optional grant_type The value MUST be set to "authorization_code". No code The authorization code received from the authorization server. No redirect_uri client_id The value of this parameter MUST be identical to the "redirect_uri" included in the authorization request. This is the application user name registered on the AMP administration portal for the application. No No Table 6 Access Token Request Parameters Access Token Request Example POST HTTP/1.1 Connection: close Authorization: Basic ZDYzNDBjYWM0OGY3NjRhZTI3MzVhYTNiMDIyMGM3NjI6e0dFV1c+M20= Content-Type: application/x-www-form-urlencoded grant_type=authorization_code&client_id=d6340cac48f764ae2735aa3b0220c762&redire ct_uri= a Access Token Response - Generic If the access token request is valid and authorized, the authorization server issues an access token and optional refresh token. It constructs the response by adding the following parameters to the entity-body of the HTTP response with a 200 (OK) status code. There are no service specific parameters in access token responses. Doc Version

18 Authorization Code Grant Type Parameter Description Present access_token The access token issued by the authorization server. Always token_type The type of the token issued, which will be "bearer". Always expires_in refresh_token The lifetime in seconds of the access token. The default expiation time for payment and subscription services is seconds (72 hours). The refresh token can be used in authorization grant to obtain new access tokens. This is optional, and not relevant and not provided for payment and subscription services. Always Optional; not present for Payment and Subscriptions scope A copy of the scope from the client request. Always (for Payment and Subscriptions) Table 7 Access Token Response Parameters The parameters are included in the entity-body of the HTTP response using the "application/json" media type. The parameters are serialized into a JavaScript Object Notation (JSON) structure by adding each parameter at the highest structure level. Parameter names and string values are included as JSON strings. Numerical values are included as JSON numbers. The order of parameters does not matter and can vary. The authorization server includes the HTTP "Cache-Control" response header field with a value of "no-store", as well as the "Pragma" response header field with a value of "no-cache". The application MUST ignore unrecognized value names in the response. The application should avoid making assumptions about value sizes Access Token Response Example An example of a successful access token response to the application, with the access token. HTTP/ OK Content-Type: application/json grant_type: authorization_code redirect_uri: Connection: close Pragma: no-cache Cache-Control: no-store Transfer-Encoding: chunked X-Forwarded-For=[ , ] payload={{"access_token":" c aab7- af1662ddadf4","token_type":"bearer","expires_in":64,"scope":"chargeamount"}} Doc Version

19 Authorization Code Grant Type Access Token Error Response - Generic If the request failed or is invalid, the authorization server responds with an HTTP 400 (Bad Request) status code (unless otherwise stated below) and includes the following parameters with the response. The parameters are included in the entity-body of the HTTP response using the "application/json" media type. The parameters are serialized into a JSON structure by adding each parameter at the highest structure level. Parameter names and string values are included as JSON strings. Numerical values are included as JSON numbers. The order of parameters does not matter and can vary. Parameter Description Present error A single ASCII error code from the following: invalid_request invalid_client invalid_grant The request is missing a required parameter, includes an unsupported parameter value (other than grant type), repeats a parameter, includes multiple credentials, utilizes more than one mechanism for authenticating the client, or is otherwise malformed. Application authentication failed (e.g., unknown application, no application authentication included, or unsupported authentication method). The authorization server will return an HTTP 401 (Unauthorized) status code to indicate which HTTP authentication schemes are supported. If the application attempted to authenticate via the "Authorization" request header field, the authorization server will respond with an HTTP 401 (Unauthorized) status code and include the "WWW- Authenticate" response header field matching the authentication scheme used by the application. The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another application. unauthorized_client The authenticated application is not authorized to use this authorization grant type. unsupported_grant_type The authorization grant type is not supported by the authorization server. invalid_scope The requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner. Always Doc Version

20 Authorization Code Grant Type Parameter Description Present error_descripti on state Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred. Values for the "error_description" parameter will not include characters outside the set %x20-21 / %x23-5b / %x5d-7e. PRESENT if a "state" parameter was present in the application authorization request. The exact value received from the application. Always If in the request Table 8 Access Token Error Parameters Doc Version

21 Implicit Grant Type 4 Implicit Grant Type The Implicit flow is used when the application is running not on a trusted host, but entirely on the user s device. For example the application may be implemented using Javascript. In this case, the callback is not implemented via a web server application, but the redirect_uri will be an URL of the web-hosted script, capable of extracting the access token which will be embedded in the URI. Another example of an application running on the mobile device would be an App written in Java, which would parse out the fragment from the Location header of the redirect response to the Authorization endpoint request. This section provides the sequence diagram and flow, and parameters required and returned in this type of OAuth grant, and code illustrations Implicit Grant Type Sequence An OAuth flow using the Implicit grant type is depicted in the sequence diagram below. The network gateways the messages pass through are not shown in the diagram. The sequences are described in stepped order below the diagram. Step descriptions that differ from the Authorization Code sequence are underlined. Before the start of the sequence, the user (a subscriber) would have made a request to the partner s application to invoke a service, for example, to purchase an item. This action initiates the OAuth sequence necessary to enable the service transaction to go ahead. Figure 3 OAuth Sequence Implicit Grant Type 1. get authorization code The application initiates an OAuth authentication sequence by a request to the Authorization Service at its Authorization Endpoint. Doc Version

22 Implicit Grant Type The request must include the OAuth parameters. This includes response_type of token and other OAuth parameters, such as redirect_uri to specify the callback used later in the flow, and any parameters required by the specific scope associated with the request. For example, for a payment charge request, the amount and the currency must be specified. Section 4.3.1lists Authorization request parameters, including the specific requirements for Payment and Subscription services. Service scopes are configured when the service is provisioned by the platform administrator. 2. User OAuth server interactions The call out section in the diagram is a summary of what takes place outside of the partner s domain, for the user to be authenticated and to give authorization/consent for the payment in interactions between the user and the OAuth server. If the user is on-net, the subscriber MSISDN is injected and enables automatic authentication and going straight to the Authorization page to give consent to the payment with the scope presented. These sequences use HTTP (not secure) in order to allow MSISDN injection. If the user is off-net, the user will be required to input the OTP received at the MSISDN, on the Advice of Consent page before being redirected to the Authorization page. 3. Token response When the User approves/denies the authorization, the result is returned to the application as a redirect to the redirect_uri from the authorization request, with the Access Token in the fragment of the Location header URI. Table lists the parameters returned with the access token, and Table the error response. 4. Extract and use token to call service API The application extracts the Access Token from the fragment. In the code illustration (section 4.3), this is assumed to be done on the device in App code. In a Javascript based application running on a browser, the callback URI would be that of a script that is capable of extracting the fragment. The application then uses the Access Token in the Authentication header to request the service. See an example of access token used in a Payment charge request in Appendix A. Parameters for the API call are described in the specific service API guide. 4.2 Implicit Grant Parameters and Examples This section lists the parameters required in each of the OAuth request operations in the Implicit grant type sequence described above, those returned in successful responses and in error responses. Brief descriptions of the operations are provided.! OAuth applies to Payment: charge and Subscriptions: activate operations only. Payment: refund and Subscriptions: deactivate do not require user authorization. This section contains the following sub-sections: Authorization Request Generic, Payment and Subscriptions below Doc Version

23 Implicit Grant Type Access Token Response Generic section Access Token Error Response Generic section Authorization Request Generic, Payment and Subscriptions The application (client) issues a redirect to the subscriber device browser, as follows. The application constructs the request URI by adding the following parameters to the query component of the authorization endpoint URI using the "application/x-www-form-urlencoded" format. As this is a redirect to the subscriber, there is no response handling for this request on the application.! For this OAuth operation, service specific parameters are required in addition to the generic parameters. The latter is presented in the first table, below, followed by tables for the service specific parameters. Authorization Request Implicit grant type Generic Parameters Parameter Description Optional response_type The value MUST be set to "token". No client_id Application Name from the Application profile created via the Partner Self-Care Portal. No redirect_uri URL of a callback on the application. After completing its interaction with the resource owner, the authorization server directs the resource owner's user-agent back to the client. The authorization server redirects the user-agent to the client's redirection endpoint previously established with the authorization server during the client registration process or when making the authorization request. The redirection endpoint URI MUST be an absolute URI, and match an address configured on the AMP system. Such addresses will have been provided to AMP administrators as part of the registration process for the application. The endpoint URI MAY include an "application/x-www-formurlencoded" formatted query component, which MUST be retained when adding additional query parameters. The endpoint URI MUST NOT include a fragment component. No scope The scope of the resource access to be authorized, as defined on the authorization service for the service (resource) being requested. The value of the scope parameter is expressed as a list of space-delimited, case-sensitive strings. For each operation for any service the associated scope may have mandatory parameters. If it does, these should also be supplied. For example, for payment, a charge amount operation (scope) requires amount and currency parameters. No Doc Version

24 Implicit Grant Type Parameter Description Optional! See the service-specific configuration notes for details of the scope for each service. state An opaque value used by the client to maintain state between the request and callback. The authorization server includes this value when redirecting the user-agent back to the client. The parameter SHOULD be used for preventing cross-site request forgery. Yes Table 9 Generic Authorization (Implicit grant type) Request Parameters Authorization Request Payment: charge In addition to the parameters listed in the generic section above, service specific parameters are required for a Payment charge operation. As these apply regardless of the grant type used, see the list in Table 2. The URI is as follows, which includes the payment service specific parameters: amount={amount}&currency=[currency]&redirect_uri={redirect_uri}&scope={scope}&cli ent_id={client_id}&response_type=code&state={state]&pn={product_name}&pd{product_ description}&pc={pcc}&imgurl={image_url} Authorization Request Subscription: activate In addition to the parameters listed in the generic section above, service specific parameters are required for a Subscriptions activate operation. As these apply regardless of the grant type used, see the list in Table 3. The URI is as follows, which includes the suibscription service specific parameters: amount={amount}&currency=[currency]&redirect_uri={redirect_uri}&scope={scope}&cli ent_id={client_id}&response_type=code&state={state]&pn={product_name}&pd{product_ description}&pc={pcc}&pv={product_validity}&imgurl={image_url} Access Token Response - Generic If the user grants the access request, the authorization server issues an access token and delivers it to the application by adding the following parameters to the query component of the redirection URI using the "application/x-www-form-urlencoded" format. On receiving a successful authorization response, the following parameters are required in all access token requests, regardless of the applicable service. Parameter Description Present access_token The access token issued by the authorization server. Always token_type The type of the token issued, which will be "bearer". Always Doc Version

25 Implicit Grant Type Parameter Description Present expires_in The lifetime in seconds of the access token. The default expiry time for payment and subscription services is seconds (72 hours). Always scope A copy of the scope requested by the client. Always (for Payment and Subscriptions) state PRESENT if a "state" parameter was present in the application authorization request. The exact value received from the application. If in the request Table 10 Access Token (Implicit grant type) Response Parameters The Authorization server will redirect the subscriber to make the callback request on the URI specified in redirect_uri, from the request. The application MUST ignore unrecognized value names in the response. The application should avoid making assumptions about value sizes Access Token Error Response - Generic If the request fails due to a missing, invalid, or mismatching redirection URI, or if the application identifier is missing or invalid, the authorization server will inform the resource owner of the error and will not automatically redirect the user-agent to the invalid redirection URI. If the resource owner denies the access request or if the request fails for reasons other than a missing or invalid redirection URI, the authorization server informs the application by adding the following parameters to the query component of the redirection URI using the "application/x-wwwform-urlencoded" format: Parameter Description Present error A single ASCII error code from the following: invalid_request The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. unauthorized_client The client is not authorized to request an authorization code using this method. access_denied The resource owner or authorization server denied the request. unsupported_response_type The authorization server does not support obtaining an authorization code using this method. invalid_scope Always Doc Version

26 Implicit Grant Type Parameter Description Present server_error The requested scope is invalid, unknown, or malformed. The authorization server encountered an unexpected condition that prevented it from fulfilling the request. (This error code is needed because a 500 Internal Server Error HTTP status code cannot be returned to the client via an HTTP redirect.) temporarily_unavailable The authorization server is currently unable to handle the request due to a temporary overloading or maintenance of the server. (This error code is needed because a 503 Service Unavailable HTTP status code cannot be returned to the client via an HTTP redirect.) error_description state Human-readable ASCII [USASCII] text providing additional information, used to assist the client developer in understanding the error that occurred. Values for the "error_description" parameter will not include characters outside the set %x20-21 / %x23-5b / %x5d-7e. PRESENT if a "state" parameter was present in the application authorization request. The exact value received from the application. Always If in the request Table 11 Access Token (Implicit grant type) Error Response Parameters Doc Version

27 Appendix A Authorization Request Examples A. Appendix Payment Charge Request Examples The following examples illustrate how the Access Token is used to authenticate a payment charge API call, and its response. An authorization header is inserted with the value of the OAuth token, and user ID (MSISDN) is replaced by acr :Authorization, which is an operator-provided string that maps to the number and protects the identity of the user. Payment request using the Access Token POST mount HTTP/1.1 Content-Type: application/json Authorization: Bearer c aab7-af1662ddadf4 Connection: close Content-Length:448 User-Agent: Jakarta Commons-HttpClient/3.1 {"amounttransaction":{"clientcorrelator":" ","enduserid":"acr:authori zation","paymentamount":{"charginginformation":{"amount":"1.0","currency":"inr","description":["description"]},"chargingmetadata":{"onbehalfof":"example Games Inc","purchaseCategoryCode":"game","channel":"WAP","taxAmount":"0.00","serviceI d":"service ID","productId":"product ID"}},"referenceCode":"ChargeAmount ","transactionOperationStatus":"Charged"}} Response to payment request HTTP/ Created Content-Type: application/json Headers: {Content-Type=[application/json], Location=[ actions/amount/f0720fd2-2dd1-468a-a99f-35893ffa3b82], Date=[Wed, 26 Mar :13:58 GMT]} { "amounttransaction" : { "enduserid" : "acr:authorization", "paymentamount" : { "charginginformation" : { "description" : [ "Airtel IOT PAY-OA-01" ], "currency" : "INR", "amount" : 1.00 }, "totalamountcharged" : 1.00, "chargingmetadata" : { "onbehalfof" : "Example Games Inc", "purchasecategorycode" : "game", "channel" : "WAP", "taxamount" : 0.00, "serviceid" : "service ID", "productid" : "product ID" } }, Doc Version

28 Appendix A Authorization Request Examples "transactionoperationstatus" : "Charged", "referencecode" : "ChargeAmount ", "serverreferencecode" : "f0720fd2-2dd1-468a-a99f-35893ffa3b82", "clientcorrelator" : " ", "resourceurl" : " amount/f0720fd2-2dd1-468a-a99f-35893ffa3b82" } } End of Document Doc Version

EHR OAuth 2.0 Security

EHR OAuth 2.0 Security Hospital Health Information System EU HIS Contract No. IPA/2012/283-805 EHR OAuth 2.0 Security Final version July 2015 Visibility: Restricted Target Audience: EHR System Architects EHR Developers EPR Systems

More information

OAuth 2.0 Developers Guide. Ping Identity, Inc. 1001 17th Street, Suite 100, Denver, CO 80202 303.468.2900

OAuth 2.0 Developers Guide. Ping Identity, Inc. 1001 17th Street, Suite 100, Denver, CO 80202 303.468.2900 OAuth 2.0 Developers Guide Ping Identity, Inc. 1001 17th Street, Suite 100, Denver, CO 80202 303.468.2900 Table of Contents Contents TABLE OF CONTENTS... 2 ABOUT THIS DOCUMENT... 3 GETTING STARTED... 4

More information

Login with Amazon. Developer Guide for Websites

Login with Amazon. Developer Guide for Websites Login with Amazon Developer Guide for Websites Copyright 2014 Amazon Services, LLC or its affiliates. All rights reserved. Amazon and the Amazon logo are trademarks of Amazon.com, Inc. or its affiliates.

More information

ACR Connect Authentication Service Developers Guide

ACR Connect Authentication Service Developers Guide ACR Connect Authentication Service Developers Guide Revision History Date Revised by Version Description 29/01/2015 Sergei Rusinov 1.0 Authentication using NRDR account Background The document describes

More information

How To Use Kiteworks On A Microsoft Webmail Account On A Pc Or Macbook Or Ipad (For A Webmail Password) On A Webcomposer (For An Ipad) On An Ipa Or Ipa (For

How To Use Kiteworks On A Microsoft Webmail Account On A Pc Or Macbook Or Ipad (For A Webmail Password) On A Webcomposer (For An Ipad) On An Ipa Or Ipa (For GETTING STARTED WITH KITEWORKS DEVELOPER GUIDE Version 1.0 Version 1.0 Copyright 2014 Accellion, Inc. All rights reserved. These products, documents, and materials are protected by copyright law and distributed

More information

Fairsail REST API: Guide for Developers

Fairsail REST API: Guide for Developers Fairsail REST API: Guide for Developers Version 1.02 FS-API-REST-PG-201509--R001.02 Fairsail 2015. All rights reserved. This document contains information proprietary to Fairsail and may not be reproduced,

More information

Axway API Gateway. Version 7.4.1

Axway API Gateway. Version 7.4.1 O A U T H U S E R G U I D E Axway API Gateway Version 7.4.1 3 February 2016 Copyright 2016 Axway All rights reserved. This documentation describes the following Axway software: Axway API Gateway 7.4.1

More information

OAuth 2.0. Weina Ma Weina.Ma@uoit.ca

OAuth 2.0. Weina Ma Weina.Ma@uoit.ca OAuth 2.0 Weina Ma Weina.Ma@uoit.ca Agenda OAuth overview Simple example OAuth protocol workflow Server-side web application flow Client-side web application flow What s the problem As the web grows, more

More information

Oracle Fusion Middleware Oracle API Gateway OAuth User Guide 11g Release 2 (11.1.2.4.0)

Oracle Fusion Middleware Oracle API Gateway OAuth User Guide 11g Release 2 (11.1.2.4.0) Oracle Fusion Middleware Oracle API Gateway OAuth User Guide 11g Release 2 (11.1.2.4.0) July 2015 Oracle API Gateway OAuth User Guide, 11g Release 2 (11.1.2.4.0) Copyright 1999, 2015, Oracle and/or its

More information

OAuth Guide Release 6.0

OAuth Guide Release 6.0 [1]Oracle Communications Services Gatekeeper OAuth Guide Release 6.0 E50767-02 November 2015 Oracle Communications Services Gatekeeper OAuth Guide, Release 6.0 E50767-02 Copyright 2012, 2015, Oracle and/or

More information

Device Token Protocol for Persistent Authentication Shared Across Applications

Device Token Protocol for Persistent Authentication Shared Across Applications Device Token Protocol for Persistent Authentication Shared Across Applications John Trammel, Ümit Yalçınalp, Andrei Kalfas, James Boag, Dan Brotsky Adobe Systems Incorporated, 345 Park Avenue, San Jose,

More information

Contents. 2 Alfresco API Version 1.0

Contents. 2 Alfresco API Version 1.0 The Alfresco API Contents The Alfresco API... 3 How does an application do work on behalf of a user?... 4 Registering your application... 4 Authorization... 4 Refreshing an access token...7 Alfresco CMIS

More information

Dell One Identity Cloud Access Manager 8.0.1 - How to Develop OpenID Connect Apps

Dell One Identity Cloud Access Manager 8.0.1 - How to Develop OpenID Connect Apps Dell One Identity Cloud Access Manager 8.0.1 - How to Develop OpenID Connect Apps May 2015 This guide includes: What is OAuth v2.0? What is OpenID Connect? Example: Providing OpenID Connect SSO to a Salesforce.com

More information

Yandex.Money API API for Apps

Yandex.Money API API for Apps 16.10.2014 .. Version 1.8 Document build date: 16.10.2014. This volume is a part of Yandex technical documentation. Yandex helpdesk site: http://help.yandex.ru 2008 2014 Yandex LLC. All rights reserved.

More information

A Standards-based Mobile Application IdM Architecture

A Standards-based Mobile Application IdM Architecture A Standards-based Mobile Application IdM Architecture Abstract Mobile clients are an increasingly important channel for consumers accessing Web 2.0 and enterprise employees accessing on-premise and cloud-hosted

More information

Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3

Table of Contents. Open-Xchange Authentication & Session Handling. 1.Introduction...3 Open-Xchange Authentication & Session Handling Table of Contents 1.Introduction...3 2.System overview/implementation...4 2.1.Overview... 4 2.1.1.Access to IMAP back end services...4 2.1.2.Basic Implementation

More information

Title page. Alcatel-Lucent 5620 SERVICE AWARE MANAGER 13.0 R7

Title page. Alcatel-Lucent 5620 SERVICE AWARE MANAGER 13.0 R7 Title page Alcatel-Lucent 5620 SERVICE AWARE MANAGER 13.0 R7 APPLICATION API DEVELOPER GUIDE 3HE-10590-AAAA-TQZZA Issue 1 December 2015 Legal notice Legal notice Alcatel, Lucent, Alcatel-Lucent and the

More information

Force.com REST API Developer's Guide

Force.com REST API Developer's Guide Force.com REST API Developer's Guide Version 35.0, Winter 16 @salesforcedocs Last updated: December 10, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark

More information

OAuth 2.0: Theory and Practice. Daniel Correia Pedro Félix

OAuth 2.0: Theory and Practice. Daniel Correia Pedro Félix OAuth 2.0: Theory and Practice Daniel Correia Pedro Félix 1 whoami Daniel Correia Fast learner Junior Software Engineer Passionate about everything Web-related Currently working with the SAPO SDB team

More information

2015-11-30. Web Based Single Sign-On and Access Control

2015-11-30. Web Based Single Sign-On and Access Control 0--0 Web Based Single Sign-On and Access Control Different username and password for each website Typically, passwords will be reused will be weak will be written down Many websites to attack when looking

More information

Web 2.0 Lecture 9: OAuth and OpenID

Web 2.0 Lecture 9: OAuth and OpenID Web 2.0 Lecture 9: OAuth and OpenID doc. Ing. Tomáš Vitvar, Ph.D. tomas@vitvar.com @TomasVitvar http://www.vitvar.com Leopold-Franzens Universität Innsbruck and Czech Technical University in Prague Faculty

More information

OAuth: Where are we going?

OAuth: Where are we going? OAuth: Where are we going? What is OAuth? OAuth and CSRF Redirection Token Reuse OAuth Grant Types 1 OAuth v1 and v2 "OAuth 2.0 at the hand of a developer with deep understanding of web security will likely

More information

vcloud Air Platform Programmer's Guide

vcloud Air Platform Programmer's Guide vcloud Air Platform Programmer's Guide vcloud Air OnDemand 5.7 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition.

More information

Nuance Mobile Developer Program. HTTP Services for Nuance Mobile Developer Program Clients

Nuance Mobile Developer Program. HTTP Services for Nuance Mobile Developer Program Clients Nuance Mobile Developer Program HTTP Services for Nuance Mobile Developer Program Clients Notice Nuance Mobile Developer Program HTTP Services for Nuance Mobile Developer Program Clients Copyright 2011

More information

OAuth2lib. http://tools.ietf.org/html/ietf-oauth-v2-10 implementation

OAuth2lib. http://tools.ietf.org/html/ietf-oauth-v2-10 implementation OAuth2lib http://tools.ietf.org/html/ietf-oauth-v2-10 implementation 15 Julio 2010 OAuth2 - Assertion Profile Library! 3 Documentation! 4 OAuth2 Assertion Flow! 4 OAuth Client! 6 OAuth Client's Architecture:

More information

GoCoin: Merchant integration guide

GoCoin: Merchant integration guide GoCoin: Merchant integration guide More information can be found at help.gocoin.com Preface This guide is intended for Merchants who wish to use the GoCoin API to accept and process payments in Cryptocurrency.

More information

Traitware Authentication Service Integration Document

Traitware Authentication Service Integration Document Traitware Authentication Service Integration Document February 2015 V1.1 Secure and simplify your digital life. Integrating Traitware Authentication This document covers the steps to integrate Traitware

More information

Building Secure Applications. James Tedrick

Building Secure Applications. James Tedrick Building Secure Applications James Tedrick What We re Covering Today: Accessing ArcGIS Resources ArcGIS Web App Topics covered: Using Token endpoints Using OAuth/SAML User login App login Portal ArcGIS

More information

IBM WebSphere Application Server

IBM WebSphere Application Server IBM WebSphere Application Server OAuth 2.0 service provider and TAI 2012 IBM Corporation This presentation describes support for OAuth 2.0 included in IBM WebSphere Application Server V7.0.0.25. WASV70025_OAuth20.ppt

More information

reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002)

reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002) 1 cse879-03 2010-03-29 17:23 Kyung-Goo Doh Chapter 3. Web Application Technologies reference: HTTP: The Definitive Guide by David Gourley and Brian Totty (O Reilly, 2002) 1. The HTTP Protocol. HTTP = HyperText

More information

Authorization and Authentication

Authorization and Authentication CHAPTER 2 Cisco WebEx Social API requests must come through an authorized API consumer or API client and be issued by an authenticated Cisco WebEx Social user. The Cisco WebEx Social API uses the Open

More information

Lecture Notes for Advanced Web Security 2015

Lecture Notes for Advanced Web Security 2015 Lecture Notes for Advanced Web Security 2015 Part 6 Web Based Single Sign-On and Access Control Martin Hell 1 Introduction Letting users use information from one website on another website can in many

More information

Security and ArcGIS Web Development. Heather Gonzago and Jeremy Bartley

Security and ArcGIS Web Development. Heather Gonzago and Jeremy Bartley Security and ArcGIS Web Development Heather Gonzago and Jeremy Bartley Agenda Types of apps Traditional token-based authentication OAuth2 authentication User login authentication Application authentication

More information

PingFederate. Windows Live Cloud Identity Connector. User Guide. Version 1.0

PingFederate. Windows Live Cloud Identity Connector. User Guide. Version 1.0 Windows Live Cloud Identity Connector Version 1.0 User Guide 2011 Ping Identity Corporation. All rights reserved. Windows Live Cloud Identity Connector User Guide Version 1.0 April, 2011 Ping Identity

More information

HTTP Protocol. Bartosz Walter <Bartek.Walter@man.poznan.pl>

HTTP Protocol. Bartosz Walter <Bartek.Walter@man.poznan.pl> HTTP Protocol Bartosz Walter Agenda Basics Methods Headers Response Codes Cookies Authentication Advanced Features of HTTP 1.1 Internationalization HTTP Basics defined in

More information

Description of Microsoft Internet Information Services (IIS) 5.0 and

Description of Microsoft Internet Information Services (IIS) 5.0 and Page 1 of 10 Article ID: 318380 - Last Review: July 7, 2008 - Revision: 8.1 Description of Microsoft Internet Information Services (IIS) 5.0 and 6.0 status codes This article was previously published under

More information

Synology SSO Server. Development Guide

Synology SSO Server. Development Guide Synology SSO Server Development Guide THIS DOCUMENT CONTAINS PROPRIETARY TECHNICAL INFORMATION WHICH IS THE PROPERTY OF SYNOLOGY INCORPORATED AND SHALL NOT BE REPRODUCED, COPIED, OR USED AS THE BASIS FOR

More information

DEERFIELD.COM. DNS2Go Update API. DNS2Go Update API

DEERFIELD.COM. DNS2Go Update API. DNS2Go Update API DEERFIELD.COM DNS2Go Update API DNS2Go Update API DEERFIELD.COM PRODUCT DOCUMENTATION DNS2Go Update API Deerfield.com 4241 Old U.S. 27 South Gaylord, MI 49686 Phone 989.732.8856 Email sales@deerfield.com

More information

1. Change Log... 3 2. Introduction... 4 3. Flow summary... 4 3.1 Flow Overview... 4 3.2 Premium SMS flow... 6 3.3 Pin Flow... 7 3.4 Redirect Flow...

1. Change Log... 3 2. Introduction... 4 3. Flow summary... 4 3.1 Flow Overview... 4 3.2 Premium SMS flow... 6 3.3 Pin Flow... 7 3.4 Redirect Flow... Payment API 1. Change Log... 3 2. Introduction... 4 3. Flow summary... 4 3.1 Flow Overview... 4 3.2 Premium SMS flow... 6 3.3 Pin Flow... 7 3.4 Redirect Flow... 8 3.5 SMS Handshake Flow... 9 4. One-time

More information

Cloud Elements ecommerce Hub Provisioning Guide API Version 2.0 BETA

Cloud Elements ecommerce Hub Provisioning Guide API Version 2.0 BETA Cloud Elements ecommerce Hub Provisioning Guide API Version 2.0 BETA Page 1 Introduction The ecommerce Hub provides a uniform API to allow applications to use various endpoints such as Shopify. The following

More information

Cloud Elements! Marketing Hub Provisioning and Usage Guide!

Cloud Elements! Marketing Hub Provisioning and Usage Guide! Cloud Elements Marketing Hub Provisioning and Usage Guide API Version 2.0 Page 1 Introduction The Cloud Elements Marketing Hub is the first API that unifies marketing automation across the industry s leading

More information

Onegini Token server / Web API Platform

Onegini Token server / Web API Platform Onegini Token server / Web API Platform Companies and users interact securely by sharing data between different applications The Onegini Token server is a complete solution for managing your customer s

More information

OAuth 2.0 Workshop. On how native (mobile) devices can use OAuth protected resources

OAuth 2.0 Workshop. On how native (mobile) devices can use OAuth protected resources OAuth 2.0 Workshop On how native (mobile) devices can use OAuth protected resources October 16 th 2012 GET /people/@me François Kooman SURFnet, Middleware Services Technical

More information

Login with Amazon. Getting Started Guide for Websites. Version 1.0

Login with Amazon. Getting Started Guide for Websites. Version 1.0 Login with Amazon Getting Started Guide for Websites Version 1.0 Login with Amazon: Getting Started Guide for Websites Copyright 2016 Amazon Services, LLC or its affiliates. All rights reserved. Amazon

More information

D&B Direct+ API Documentation for IP Address Detail Lookup. Version 1, REST Interface. Intended for Early Adopter Program Participants

D&B Direct+ API Documentation for IP Address Detail Lookup. Version 1, REST Interface. Intended for Early Adopter Program Participants DUN & BRADSTREET D&B Direct+ API Documentation for IP Address Detail Lookup Version 1, REST Interface Intended for Early Adopter Program Participants PREPARED ON THURSDAY, JUNE 11, 2015 Copyright 2015

More information

Copyright Pivotal Software Inc, 2013-2015 1 of 10

Copyright Pivotal Software Inc, 2013-2015 1 of 10 Table of Contents Table of Contents Getting Started with Pivotal Single Sign-On Adding Users to a Single Sign-On Service Plan Administering Pivotal Single Sign-On Choosing an Application Type 1 2 5 7 10

More information

Comparative analysis - Web-based Identity Management Systems

Comparative analysis - Web-based Identity Management Systems Comparative analysis - Web-based Identity Management Systems Oscar Manso, Morten Christiansen and Gert Mikkelsen THE ALEXANDRA INSTITUTE 15 December 2014 2/45 Contents 1. Introduction... 2 2. Current State

More information

Enterprise Access Control Patterns For REST and Web APIs

Enterprise Access Control Patterns For REST and Web APIs Enterprise Access Control Patterns For REST and Web APIs Francois Lascelles Layer 7 Technologies Session ID: STAR-402 Session Classification: intermediate Today s enterprise API drivers IAAS/PAAS distributed

More information

JASPERREPORTS SERVER WEB SERVICES GUIDE

JASPERREPORTS SERVER WEB SERVICES GUIDE JASPERREPORTS SERVER WEB SERVICES GUIDE RELEASE 5.0 http://www.jaspersoft.com JasperReports Server Web Services Guide Copyright 2012 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft,

More information

Securing RESTful Web Services Using Spring and OAuth 2.0

Securing RESTful Web Services Using Spring and OAuth 2.0 Securing RESTful Web Services Using Spring and OAuth 2.0 1.0 EXECUTIVE SUMMARY While the market is hugely 1 accepting REST based architectures due to their light weight nature, there is a strong need to

More information

Office365Mon Developer API

Office365Mon Developer API Office365Mon Developer API Office365Mon provides a set of services for retrieving report data, and soon for managing subscriptions. This document describes how you can create an application to programmatically

More information

Using ArcGIS with OAuth 2.0. Aaron Parecki @aaronpk CTO, Esri R&D Center Portland

Using ArcGIS with OAuth 2.0. Aaron Parecki @aaronpk CTO, Esri R&D Center Portland Using ArcGIS with OAuth 2.0 Aaron Parecki @aaronpk CTO, Esri R&D Center Portland Before OAuth Apps stored the user s password Apps got complete access to a user s account Users couldn t revoke access to

More information

API documentation - 1 -

API documentation - 1 - API documentation - 1 - Table of Contents 1. Introduction 1.1. What is an API 2. API Functions 2.1. Purge list of files 2.1.1 Description 2.1.2 Implementation 2.2. Purge of whole cache (all files on all

More information

SOPG (Service Oriented Prepaid Gateway - xml based protocol) Documentation. Version Date Description Author

SOPG (Service Oriented Prepaid Gateway - xml based protocol) Documentation. Version Date Description Author CLASSIC PAYMENT API SOPG (Service Oriented Prepaid Gateway - xml based protocol) Documentation Version history Version Date Description Author 0.1 2013-10-03 Initial draft Paul Kneidinger 0.2 2013-20-03

More information

Qualys API Limits. July 10, 2014. Overview. API Control Settings. Implementation

Qualys API Limits. July 10, 2014. Overview. API Control Settings. Implementation Qualys API Limits July 10, 2014 Overview The Qualys API enforces limits on the API calls a customer can make based on their subscription settings, starting with Qualys version 6.5. The limits apply to

More information

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT)

Internet Technologies. World Wide Web (WWW) Proxy Server Network Address Translator (NAT) Internet Technologies World Wide Web (WWW) Proxy Server Network Address Translator (NAT) What is WWW? System of interlinked Hypertext documents Text, Images, Videos, and other multimedia documents navigate

More information

Using SAML for Single Sign-On in the SOA Software Platform

Using SAML for Single Sign-On in the SOA Software Platform Using SAML for Single Sign-On in the SOA Software Platform SOA Software Community Manager: Using SAML on the Platform 1 Policy Manager / Community Manager Using SAML for Single Sign-On in the SOA Software

More information

DNS Update API November 15, 2006 Version 2.0.3

DNS Update API November 15, 2006 Version 2.0.3 DNS Update API November 15, 2006 Version 2.0.3 Dynamic Network Services, Inc. phone: +1-603-668-4998 1230 Elm Street, Fifth Floor fax: +1-603-668-6474 Manchester, NH 03101 www.dyndns.com Table of Contents

More information

Mashery OAuth 2.0 Implementation Guide

Mashery OAuth 2.0 Implementation Guide Mashery OAuth 2.0 Implementation Guide June 2012 Revised: 7/18/12 www.mashery.com Mashery, Inc. 717 Market Street, Suite 300 San Francisco, CA 94103 Contents C hapter 1. About this Guide...5 Introduction...

More information

SIP Messages. 180 Ringing The UA receiving the INVITE is trying to alert the user. This response MAY be used to initiate local ringback.

SIP Messages. 180 Ringing The UA receiving the INVITE is trying to alert the user. This response MAY be used to initiate local ringback. SIP Messages 100 Trying This response indicates that the request has been received by the next-hop server and that some unspecified action is being taken on behalf of this call (for example, a database

More information

Securing ASP.NET Web APIs Dominick Baier h;p://leastprivilege.com @leastprivilege

Securing ASP.NET Web APIs Dominick Baier h;p://leastprivilege.com @leastprivilege Securing ASP.NET Web APIs Dominick Baier h;p://leastprivilege.com think mobile! Dominick Baier Security consultant at thinktecture Focus on security in distributed applica9ons iden9ty management access

More information

TIBCO JASPERREPORTS SERVER WEB SERVICES GUIDE

TIBCO JASPERREPORTS SERVER WEB SERVICES GUIDE TIBCO JASPERREPORTS SERVER WEB SERVICES GUIDE RELEASE 6.1 http://www.jaspersoft.com Copyright 2005-2015, TIBCO Software Inc. All rights reserved. Printed in the U.S.A. TIBCO, the TIBCO logo, TIBCO Jaspersoft,

More information

Message Containers and API Framework

Message Containers and API Framework Message Containers and API Framework Notices Copyright 2009-2010 Motion Picture Laboratories, Inc. This work is licensed under the Creative Commons Attribution-No Derivative Works 3.0 United States License.

More information

Social Application Guide

Social Application Guide Social Application Guide Version 2.2.0 Mar 2015 This document is intent to use for our following Magento Extensions Or any other cases it might help. Copyright 2015 LitExtension.com. All Rights Reserved

More information

Lecture 11 Web Application Security (part 1)

Lecture 11 Web Application Security (part 1) Lecture 11 Web Application Security (part 1) Computer and Network Security 4th of January 2016 Computer Science and Engineering Department CSE Dep, ACS, UPB Lecture 11, Web Application Security (part 1)

More information

Secure XML API Integration Guide. (with FraudGuard add in)

Secure XML API Integration Guide. (with FraudGuard add in) Secure XML API Integration Guide (with FraudGuard add in) Document Control This is a control document DESCRIPTION Secure XML API Integration Guide (with FraudGuard add in) CREATION DATE 02/04/2007 CREATED

More information

Identity Management with Spring Security. Dave Syer, VMware, SpringOne 2011

Identity Management with Spring Security. Dave Syer, VMware, SpringOne 2011 Identity Management with Spring Security Dave Syer, VMware, SpringOne 2011 Overview What is Identity Management? Is it anything to do with Security? Some existing and emerging standards Relevant features

More information

TROUBLESHOOTING RSA ACCESS MANAGER SINGLE SIGN-ON FOR WEB-BASED APPLICATIONS

TROUBLESHOOTING RSA ACCESS MANAGER SINGLE SIGN-ON FOR WEB-BASED APPLICATIONS White Paper TROUBLESHOOTING RSA ACCESS MANAGER SINGLE SIGN-ON FOR WEB-BASED APPLICATIONS Abstract This white paper explains how to diagnose and troubleshoot issues in the RSA Access Manager single sign-on

More information

CONTRACT MODEL IPONZ DESIGN SERVICE VERSION 2. Author: Foster Moore Date: 20 September 2011 Document Version: 1.7

CONTRACT MODEL IPONZ DESIGN SERVICE VERSION 2. Author: Foster Moore Date: 20 September 2011 Document Version: 1.7 CONTRACT MODEL IPONZ DESIGN SERVICE VERSION 2 Author: Foster Moore Date: 20 September 2011 Document Version: 1.7 Level 6, Durham House, 22 Durham Street West PO Box 106857, Auckland City Post Shop, Auckland

More information

WP4: Cloud Hosting Chapter Object Storage Generic Enabler

WP4: Cloud Hosting Chapter Object Storage Generic Enabler WP4: Cloud Hosting Chapter Object Storage Generic Enabler Webinar John Kennedy, Thijs Metsch@ Intel Outline 1 Overview of the Cloud Hosting Work Package 2 Functionality Trust and Security Operations FI-WARE

More information

Payment Response Guide. Version 4.3 September 2012 Business Gateway

Payment Response Guide. Version 4.3 September 2012 Business Gateway Version 4.3 September 2012 Business Gateway Table of Contents About this Book... 2 Copyright... 2 Introduction... 3 What is Payment Response?... 3 The Payment Response Process... 4 Reference... 5 Setting

More information

Tenrox. Single Sign-On (SSO) Setup Guide. January, 2012. 2012 Tenrox. All rights reserved.

Tenrox. Single Sign-On (SSO) Setup Guide. January, 2012. 2012 Tenrox. All rights reserved. Tenrox Single Sign-On (SSO) Setup Guide January, 2012 2012 Tenrox. All rights reserved. About this Guide This guide provides a high-level technical overview of the Tenrox Single Sign-On (SSO) architecture,

More information

Configuring Single Sign-on for WebVPN

Configuring Single Sign-on for WebVPN CHAPTER 8 This chapter presents example procedures for configuring SSO for WebVPN users. It includes the following sections: Using Single Sign-on with WebVPN, page 8-1 Configuring SSO Authentication Using

More information

Network Technologies

Network Technologies Network Technologies Glenn Strong Department of Computer Science School of Computer Science and Statistics Trinity College, Dublin January 28, 2014 What Happens When Browser Contacts Server I Top view:

More information

Certified Secure Web Application Secure Development Checklist

Certified Secure Web Application Secure Development Checklist www.certifiedsecure.com info@certifiedsecure.com Tel.: +31 (0)70 310 13 40 Loire 128-A 2491 AJ The Hague The Netherlands About Certified Secure Checklist Certified Secure exists to encourage and fulfill

More information

PlayReady App Creation Tutorial

PlayReady App Creation Tutorial Version 0.93 Samsung Smart TV 1 1. OVERVIEW... 4 2. INTRODUCTION... 4 2.1. DEVELOPMENT ENVIRONMENT... 4 2.2. FILES NEEDED FOR A PLAYREADY VIDEO APPLICATION... 5 3. SAMSUNG TV PLAYREADY SPECIFICATION...

More information

Cloud Elements! Events Management BETA! API Version 2.0

Cloud Elements! Events Management BETA! API Version 2.0 Cloud Elements Events Management BETA API Version 2.0 Event Management Version 1.0 Event Management Cloud Elements Event Management provides a uniform mechanism for subscribing to events from Endpoints

More information

Remote Access API 2.0

Remote Access API 2.0 VYATTA A BROCADE COMPANY Vyatta System Remote Access API 2.0 REFERENCE GUIDE Vyatta A Brocade Company 130 Holger Way San Jose, CA 95134 www.brocade.com 408 333 8400 COPYRIGHT Copyright 2005 2015 Vyatta,

More information

Authenticate and authorize API with Apigility. by Enrico Zimuel (@ezimuel) Software Engineer Apigility and ZF2 Team

Authenticate and authorize API with Apigility. by Enrico Zimuel (@ezimuel) Software Engineer Apigility and ZF2 Team Authenticate and authorize API with Apigility by Enrico Zimuel (@ezimuel) Software Engineer Apigility and ZF2 Team About me Enrico Zimuel (@ezimuel) Software Engineer since 1996 PHP Engineer at Zend Technologies

More information

Salesforce1 Mobile Security Guide

Salesforce1 Mobile Security Guide Salesforce1 Mobile Security Guide Version 1, 1 @salesforcedocs Last updated: December 8, 2015 Copyright 2000 2015 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of salesforce.com,

More information

An Oracle White Paper June 2014. RESTful Web Services for the Oracle Database Cloud - Multitenant Edition

An Oracle White Paper June 2014. RESTful Web Services for the Oracle Database Cloud - Multitenant Edition An Oracle White Paper June 2014 RESTful Web Services for the Oracle Database Cloud - Multitenant Edition 1 Table of Contents Introduction to RESTful Web Services... 3 Architecture of Oracle Database Cloud

More information

NAT TCP SIP ALG Support

NAT TCP SIP ALG Support The feature allows embedded messages of the Session Initiation Protocol (SIP) passing through a device that is configured with Network Address Translation (NAT) to be translated and encoded back to the

More information

Common definitions and specifications for OMA REST interfaces

Common definitions and specifications for OMA REST interfaces Common definitions and specifications for OMA REST interfaces Candidate Version 1.0 11 Jan 2011 Open Mobile Alliance OMA-TS-REST_Common-V1_0-20110111-C OMA-TS-REST_Common-V1_0-20110111-C Page 2 (20) Use

More information

www.novell.com/documentation Policy Guide Access Manager 3.1 SP5 January 2013

www.novell.com/documentation Policy Guide Access Manager 3.1 SP5 January 2013 www.novell.com/documentation Policy Guide Access Manager 3.1 SP5 January 2013 Legal Notices Novell, Inc., makes no representations or warranties with respect to the contents or use of this documentation,

More information

Hack Yourself First. Troy Hunt @troyhunt troyhunt.com troyhunt@hotmail.com

Hack Yourself First. Troy Hunt @troyhunt troyhunt.com troyhunt@hotmail.com Hack Yourself First Troy Hunt @troyhunt troyhunt.com troyhunt@hotmail.com We re gonna turn you into lean, mean hacking machines! Because if we don t, these kids are going to hack you Jake Davies, 19 (and

More information

Manual. Netumo NETUMO HELP MANUAL WWW.NETUMO.COM. Copyright Netumo 2014 All Rights Reserved

Manual. Netumo NETUMO HELP MANUAL WWW.NETUMO.COM. Copyright Netumo 2014 All Rights Reserved Manual Netumo NETUMO HELP MANUAL WWW.NETUMO.COM Copyright Netumo 2014 All Rights Reserved Table of Contents 1 Introduction... 0 2 Creating an Account... 0 2.1 Additional services Login... 1 3 Adding a

More information

HireDesk API V1.0 Developer s Guide

HireDesk API V1.0 Developer s Guide HireDesk API V1.0 Developer s Guide Revision 1.4 Talent Technology Corporation Page 1 Audience This document is intended for anyone who wants to understand, and use the Hiredesk API. If you just want to

More information

White Paper March 1, 2005. Integrating AR System with Single Sign-On (SSO) authentication systems

White Paper March 1, 2005. Integrating AR System with Single Sign-On (SSO) authentication systems White Paper March 1, 2005 Integrating AR System with Single Sign-On (SSO) authentication systems Copyright 2005 BMC Software, Inc. All rights reserved. BMC, the BMC logo, all other BMC product or service

More information

Implementation Guide SAP NetWeaver Identity Management Identity Provider

Implementation Guide SAP NetWeaver Identity Management Identity Provider Implementation Guide SAP NetWeaver Identity Management Identity Provider Target Audience Technology Consultants System Administrators PUBLIC Document version: 1.10 2011-07-18 Document History CAUTION Before

More information

MONETA.Assistant API Reference

MONETA.Assistant API Reference MONETA.Assistant API Reference Contents 2 Contents Abstract...3 Chapter 1: MONETA.Assistant Overview...4 Payment Processing Flow...4 Chapter 2: Quick Start... 6 Sandbox Overview... 6 Registering Demo Accounts...

More information

ipayment Gateway API (IPG API)

ipayment Gateway API (IPG API) ipayment Gateway API (IPG API) Accepting e-commerce payments for merchants Version 3.2 Intercard Finance AD 2007 2015 Table of Contents Version control... 4 Introduction... 5 Security and availability...

More information

Using RD Gateway with Azure Multifactor Authentication

Using RD Gateway with Azure Multifactor Authentication Using RD Gateway with Azure Multifactor Authentication We have a client that uses RD Gateway to allow users to access their RDS deployment from outside their corporate network. They have about 1000+ users.

More information

Adeptia Suite 6.2. Application Services Guide. Release Date October 16, 2014

Adeptia Suite 6.2. Application Services Guide. Release Date October 16, 2014 Adeptia Suite 6.2 Application Services Guide Release Date October 16, 2014 343 West Erie, Suite 440 Chicago, IL 60654, USA Phone: (312) 229-1727 x111 Fax: (312) 229-1736 Document Information DOCUMENT INFORMATION

More information

Netswipe Processing Implementation

Netswipe Processing Implementation Netswipe Processing Implementation Direct Integration with Jumio s Payment Gateway Revision History Version Date published Description 1.0.0 November 22 nd, 2011 Initial release. 1.0.1 January 12 th, 2012

More information

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats

WHITE PAPER. FortiWeb and the OWASP Top 10 Mitigating the most dangerous application security threats WHITE PAPER FortiWeb and the OWASP Top 10 PAGE 2 Introduction The Open Web Application Security project (OWASP) Top Ten provides a powerful awareness document for web application security. The OWASP Top

More information

User and Programmer Guide for the FI- STAR Monitoring Service SE

User and Programmer Guide for the FI- STAR Monitoring Service SE User and Programmer Guide for the FI- STAR Monitoring Service SE FI-STAR Beta Release Copyright 2014 - Yahya Al-Hazmi, Technische Universität Berlin This document gives a short guide on how to use the

More information

CA Nimsoft Service Desk

CA Nimsoft Service Desk CA Nimsoft Service Desk Configure Outbound Web Services 7.13.7 Legal Notices Copyright 2013, CA. All rights reserved. Warranty The material contained in this document is provided "as is," and is subject

More information

Globus Auth. Steve Tuecke. The University of Chicago

Globus Auth. Steve Tuecke. The University of Chicago Globus Auth Enabling an extensible, integrated ecosystem of services and applications for the research and education community. Steve Tuecke The University of Chicago Cloud has transformed how platforms

More information

An Approach to Achieve Delegation of Sensitive RESTful Resources on Storage Cloud

An Approach to Achieve Delegation of Sensitive RESTful Resources on Storage Cloud An Approach to Achieve Delegation of Sensitive RESTful Resources on Storage Cloud Kanchanna Ramasamy Balraj Engineering Ingegneria Informatica Spa, Rome, Italy Abstract. The paper explains a simple approach

More information