GithubHelp home page GithubHelp logo

jacksonlaw / ebay-oauth-csharp-client Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ebay/ebay-oauth-csharp-client

0.0 0.0 0.0 6.66 MB

eBay OAuth C# Client Library

License: Apache License 2.0

Shell 1.76% C# 98.24%

ebay-oauth-csharp-client's Introduction

Summary

To make integrations with eBay RESTful APIs easier, eBay provides client libraries in C# and Java to make it simpler to set up authorization, reduce the amount of code the application developers have to write to get OAuth Access Tokens. This library in addition to functioning as a simple eBay OAuth Client, helps with additional features such as cached App tokens.

What is OAuth 2.0

OAuth 2.0 is the industry-standard protocol for authorization to obtain limited access to an HTTP service. All eBay RESTful APIs use the OAuth 2.0 protocol for authorization. OAuth access tokens verify to eBay that a request is coming from a valid client and that the application has the user’s authorization to carry out the requests. Learn more about the OAuth Access Tokens.

Supported Languages

eBay OAuth Client is a class library that targets the .NET Standard 2.0. This library can be used by any .NET implementation that supports 2.0 version of the .NET Standard.

Add the eBay.OAuth.Client NuGet Package

Current Version : 2.0.2

Use of this source code is governed by Apache-2.0 license.If you’re looking for the latest stable version (2.0.2), you can grab it directly from NuGet.org.

https://www.nuget.org/packages/eBay.OAuth.Client

NuGet Package Manager UI

  • In Solution Explorer, right-click NuGet in .csproj and choose Add Package.

  • Search for eBay.OAuth.Client, select that package in the list, and click on Add Package

  • Accept the License prompt

Package Manager Console

  • Use the following command in your project directory, to install the eBay.OAuth.Client package:
Install-Package eBay.OAuth.Client -Version 2.0.2
  • After the command completes, open the .csproj file to see the added reference:
<ItemGroup>
   <PackageReference Include="eBay.OAuth.Client" Version="2.0.2" />
</ItemGroup>

.NET CLI

  • Use the following command in your project directory, to install the eBay.OAuth.Client package:
dotnet add package eBay.OAuth.Client --version 2.0.2
  • After the command completes, open the .csproj file to see the added reference:
<ItemGroup>
   <PackageReference Include="eBay.OAuth.Client" Version="2.0.2" />
</ItemGroup>

Paket CLI

  • Use the following command in your project directory, to install the eBay.OAuth.Client package:
paket add eBay.OAuth.Client --version 2.0.2
  • After the command completes, open the .csproj file to see the added reference:
<ItemGroup>
   <PackageReference Include="eBay.OAuth.Client" Version="2.0.2" />
</ItemGroup>

Build eBay.OAuth.Client DLL from Source

  • After cloning the project, you can build the package from the source by executing following script from project directory:
  • ebay-oauth-csharp-client.dll will be created at ebay-oauth-csharp-client/bin/Debug/net6.0

Use the eBay.OAuth.Client in the .NET App

name: ebay-config
api.sandbox.ebay.com:
    appid: <appid-from-developer-portal>
    certid: <certid-from-developer-portal>
    devid: <devid-from-developer-portal>
    redirecturi: <redirect_uri-from-developer-portal>
Api.ebay.com:
    appid: <appid-from-developer-portal>
    certid: <certid-from-developer-portal>
    devid: <devid-from-developer-portal>
    redirecturi: <redirect_uri-from-developer-portal>
  • Once the config file is ready, use following code to load it. It is recommended to load the credentials during startup time (initialization) to prevent runtime delays.
CredentialUtil.Load(“YAML config file path”);
or
CredentialUtil.Load(System.IO.StreamReader);
  • Once the credentials are loaded, call any operation on OAuth2Api.

    1. GetApplicationToken: Use this operation when the application request an access token to access their own resources, not on behalf of a user. Learn more about Client Credentials grant flow.
OAuth2Api.GetApplicationToken(OAuthEnvironment environment, IList<String> scopes)
  1. GenerateUserAuthorizationUrl: Use this operation to get the Authorization URL to redirect the user to. Once the user authenticates and approves the consent, the callback needs to be captured by the redirect URL setup by the app.
OAuth2Api.GenerateUserAuthorizationUrl(OAuthEnvironment environment, IList<String> scopes, String state)
  1. ExchangeCodeForAccessToken: Use this operation when an application exchanges an authorization code for an access token. After the user authenticates, approves the consent and returns to the application via the redirect URL , the application will get the authorization code from the URL and use it to request an access token. Learn more about Authorization Code grant flow.
OAuth2Api.ExchangeCodeForAccessToken(OAuthEnvironment environment, String code)
  1. GetAccessToken: Usually access tokens are short lived. Use this operation to update the access token. Learn more about Using a refresh token to update the access token.
OAuth2Api.GetAccessToken(OAuthEnvironment environment, String refreshToken, IList<String> scopes)

Contribution

Contributions in terms of patches, features, or comments are always welcome. Refer to CONTRIBUTING for guidelines. Submit Github issues for any feature enhancements, bugs, or documentation problems as well as questions and comments.

License

Copyright (c) 2018-2019 eBay Inc.

Use of this source code is governed by a Apache 2.0 license that can be found in the LICENSE file or at https://opensource.org/licenses/Apache-2.0.

ebay-oauth-csharp-client's People

Contributors

lokeshrishi avatar sdhiman30 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.