Which MQTT Cloud provides multiple authentications using rest API? - mqtt

Right now I am using mosquitto broker for MQTT. But I want MQTT cloud which provides rest API for creating Username and password. I show some of the cloud like, IOT MQTT AWS, and Hivemq but I am not able to find any kind of Rest API document.
Thanks in advance.

Related

WSO2 Api Manager RestApiAdmin wsdl usage

in wso2 api manager what is the usage of this wsdl:
RestApiAdmin
https://[apim-host]:[apim-port]/services/RestApiAdmin?wsdl
this is add api but dont show in publisher or store or carbon
what is this usage?
This is the admin service that is used to deploy APIs to the gateway. When you create an API in the API publisher, the API publisher calls this API in the gateway to deploy that API in the gateway.

AWS Elasticesearch from ios application

I am using AWS ES for the search on my iOS application. As of now, I use the Rest API for the serving the search queries to the application. The app calls the Rest API and my python server searches to serve the requests. I want to eliminate this Rest API server and want to implement the interaction between iOS and AWS ES directly. AWS iOS SDK does not provide service for ES. What shall I do for that?
I have looked into these resources but did not get much clarity,
Elasticsearch access policy - allow read from clients and read/write from Node.js server
How to secure access to AWS Elasticsearch from a mobile application
Any help would be appreciated.
You can make use of AWS Cognito, User Pools and Federated Access to provide fine grained access to AWS resources to your set of users.
Read more at this link: Secure API Access with Amazon Cognito Federated Identities, Amazon Cognito User Pools, and Amazon API Gateway
I won't recommend doing this though, especially for elastic search cause if any of the temporary credentials (STS tokens) are stored in an in-secure place (not a keychain), users will be able to delete or create indices on your elastic search cluster, as AWS does not provide fine grain control over the APIs exposed by elasticsearch itself.
To solve this problem, you can use API Gateway as a proxy to only the search endpoints of the indices you want to allow your clients to be able to search. You do not need a Lambda function or any EC2 instance in the middle to achieve this.

How can I call geolocation API via MQTT?

I am working on an IoT project in which I am required to use Google's geolocation API. Well I know it can be called via HTTP request, is there any way I can call it via MQTT as I think it will be more power efficient and have publish/subscribe approach as I want?

Control the endpoint using Kaa

I am trying to build a simple scenario so that I can control an endpoint "on/off" using Kaa, but I need to know how can I auth the endpoint ? I mean how can I manage that some specific end point that is being controlled ?
Also is there any way so that I can identify a point and then allow/deny the connection from the EP to Kaa ?
Thanks
For details of endpoint authentication please refer to the Endpoint provisioning and registration
documentation. You can use internal credentials service
to allows connection to Kaa cluster only to specified list of endpoints whose credentials were previously provisioned to Kaa server.
To control your endpoint by your server-side applications read about Server-side EP profile and Endpoint-groups features.

Blue APIConnect OAuth 2.0 using External Token provider

I have a existing application built in ASP.NET. This application has REST APIs. We are wanting to expose these APIs via API connect platform. Now, since our APIs are already authenticated, if we use IBM API connect, then how will end user authenticate to our API and API consumer authenticate via IBM Developer portal?
Lets say our API clientA logs into our developer portal, creates an app and then subscribes to our API. Now when end users try to access our API "VIA ClientA", we need to authenticate the request.
I tried to follow this tutorial http://www.ibm.com/support/knowledgecenter/SSFS6T/com.ibm.apic.toolkit.doc/task_apionprem_redirect_form_.html
But it does NOT get redirected to our external URL.
Please help!
The API gateway (part of API Connect) establishes and enforces authentication between the API end-user/subscriber and your outbound API service running on API Connect. The gateway acts as a service proxy to authenticate potentially many subscribers to a particular API plan (made up of one or several APIs), using API keys that are generated as new subscribers onboard to that plan. The management and enforcement of those API keys is accomplished entirely within API Connect. Nothing is required on your part, except the initial setup parameters for each API.
For that same API, the back-end authentication between API Connect and your existing REST API endpoint is different: it is the same for all end-user subscribers. Every time an end user calls an API they have previously subscribed to, they must first authenticate to API Connect using their unique key (since their usage must be tracked, billed and possibly limited). Once authenticated to the API gateway, all subscribers invoking usage instances for this API will be authenticated to the same API endpoint using the same authentication scheme and credentials as created when setting up the API.
Their are several choices of back-end authentication schemes when using external API endpoints. See this tutorial for more information and links to further resources:
https://www.ibm.com/support/knowledgecenter/SSMNED_5.0.0/com.ibm.apic.toolkit.doc/tutorial_apionprem_security_OAuth.html

Resources