eBay / ebay-oauth-csharp-client

eBay OAuth C# Client Library
Apache License 2.0
57 stars 42 forks source link
authentication csharp ebay-api ebay-sdk

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.3

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

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

NuGet Package Manager UI

Package Manager Console

Install-Package eBay.OAuth.Client -Version 2.0.3
<ItemGroup>
   <PackageReference Include="eBay.OAuth.Client" Version="2.0.3" />
</ItemGroup>

.NET CLI

dotnet add package eBay.OAuth.Client --version 2.0.3
<ItemGroup>
   <PackageReference Include="eBay.OAuth.Client" Version="2.0.3" />
</ItemGroup>

Paket CLI

paket add eBay.OAuth.Client --version 2.0.3
<ItemGroup>
   <PackageReference Include="eBay.OAuth.Client" Version="2.0.3" />
</ItemGroup>

Build eBay.OAuth.Client DLL from Source

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>
CredentialUtil.Load(“YAML config file path”);
or
CredentialUtil.Load(System.IO.StreamReader);
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.