i2Rest Client

From i2Rest
Jump to: navigation, search


i2Rest Client is a native IBM i tool for web communications via http/https requests. It was intended to extend IBM i interactive green screen and batch functionality with http client functions. And more than this, with provided by i2Rest Client OAuth 2.0 flows, your IBM i could have access to almost any OAuth enabled service.

i2Rest Client берет на себя все сложности, связанные с организацией взаимодействия ваших программ с внешним миром по протоколу http и https - от обеспечения транспортных функций до реализации различных сценариев аутентификации и авторизации.

Scenaries

Depending on your needs i2Rest Client can provide five request authorization scenarios:

Simple request without authorization
HTTP/HTTPS requests of any type, JSON messages, stream file upload - everything is here. Please explore typical use cases
Basic access authentication
Same options as above, but with Basic access authentication. Some use cases for a quick start.
OAuth2 Client Credentials flow
Should be used to authenticate your IBM i application on remote resource to work with its own credentials rather than a user's credentials. More about i2Rest Client Flow. Some use cases - here.
OAuth2 Device flow
Provided by i2Rest Client OAuth 2.0 Device flow allows your IBM i application to deal with protected user data on remote resource, while end users are not forced to share their usernames, passwords, and other private information. General flow description can be found here, typical use cases - here.
OAuth2 Access code flow using i2Rest bridge mode
Original OAuth2 Access code flow isn't possible on IBM i due to it's limited output capabilities (IBM i can't display an authorization web page). Nevertheless i2Rest Client together with i2Rest Server bridge can do some trick to reproduce this authorization scenario with the same result for the end user. Please look under the hood of Access code flow using i2Rest bridge mode.

Implementation

You can interact with i2Rest Client with IBM i command, or by the mean of it's integration API.