SAML option not available under API Connect Manager Portal section - ibm-cloud

The documentation for API Connect under section Publishing a product to Bluemix
in step 6 mentions "In the User Registry and Invitation section, click the User Registry arrow and select SAML."
However, as shown in the attached figure there is no option for SAML. Using IBM ID as default does not show the API under Explore APIs at the URL.
Picture
[Bluemix Login -> API Connect -> Explore API] even after the API is published.
Developer Portal User Registry and Invitation Section
I can see the published API in the developer portal. Could you please let me know what could be the reason or what to check to get the API seen in the Bluemix Catalog.
Thanks
Srinivas

The SAML option was changed to IBM ID.
When publishing an API, make sure you use a custom visibility instead of Public, then enter the Bluemix org name which should have the visibility.

Related

Google not showing promt to select google account

We have web application with keycloak as identity broker, google SAML app as IDP for google managed workspace for domain say mycompany.com. Integration works fine for except a case described below.
If user is logged in with only one non SAML app google account, google returns
403 Error: app_not_configured_for_user.
i.e. If I am logged as with my personal gmail acccount & not with mycompany.com account
I have inspected SAML AuthnRequest payload SAML tracer which has ForceAuthn="true" but still it does not show up account chooser page.
I went through couple of stackoverflow threads. Few provided solution about using account chooser url and redirecting it to auth page https://accounts.google.com/accountchooser?continue={theredirectURL}.
Looking at community to help suggesting clean solution.
This error pretty much depends on which account is the primary one in the Google account chooser as it always takes that to complete the sign in process automatically.
There is no official way or setting from Google to do this, however the mosto commonly used workaround is to add the following URL to the Start URL section of the SAML app settings for it to force the authentication whenever you click on it.
https://accounts.google.com/AccountChooser?continue=https://accounts.google.com/o/saml2/initsso?idpid=[REPLACE]s&spid=[REPLACE]&forceauthn=false
There are 2 parameters that you need to replace in that URL and you need to get them from the Google apps menu next to your profile picture, then hover over the SAML app that you want to change and right click on it, then copy the link address and that will show the idpid and spid values.

No server selection options on Apigee Live portal

can anyone help and advise on how to add the server selection to the Apigee Live portal page? I need to be able to choose between the prod/stage/testing servers on the Live Apigee API portal. The options are there when on the API specs page, but nothing to select from on the Live portal page. Live portal page is pre-defined to prod and that's it. Can anyone help here?

How to integrate Facebook with Watson conversation

I can already connect my conversation to my Facebook page and the bot is working.
My Problem is that i couldn't find a single tutorial on how to make calls to a server that is owned by a company and has information about accounts and payments, for example when i type to the Chat-bot that i want to see a list of accounts, the chat-bot would reply with a list from that API; Or i can login to that server with my account by typing the account's name and password in the chat-bot. I just wanted to know if anyone knows how to do that or if its even possible or knows a tutorial that explains it. I also would prefer if the tutorial was detailed because i'm new to this field.
As #Felipe Paixao said, you need to develop an orchestrating application.
I've found one example that explains step-by-step how to use Watson Conversation with Facebook Messenger.
Requirements:
Facebook page
IBM Bluemix
A Facebook Developer Account
Source code.
Step - IBM Bluemix:
Create a SDK for Node.js application
Create a Watson Conversation service
Create your Workspace for Watson Conversation and build your Dialog
Configure the JS app and integrate it with the Watson Service Connections -> Connect Existent:
In your App created in IBM Bluemix, access the Tools and go to IDE Eclipse, and create a new file: app.js with this code.
Replace with your credentials the username and password
You can see your credentials inside Service Credentials, or going to your workspace and access:
Step - Facebook Developers:
Enter to facebook developers with your Facebook account
In the Dashboard select Create a New App and Select Messenger
Put the URL from your Bluemix (Now IBM Cloud) app and select the options marked: messages, message_deliveries, messaging_options e messaging_postbacks.
Now, return to our app to configure the app.js file with our new FB token autogenerated and deploy it.
Step Final
Test your chatbot: If you made everything OK, we will have your chatbot available on your Facebook page.
Obs.: For built your example, you can add the lines of code for call your API in the app.js using the http module, using the Advanced JSON in Watson Conversation and create one "action": "callApi", and recognize with your code for do something, like this example.
See the Official Reference that I used to build Facebook Messenger with Node.js SDK (Back-end) source code based on Priscila Parodi codes.
You need to develop an orchestrating application, that would be responsible to connect the IBM Watson Conversation with your desired Fronted, Facebook in this case, and the Backend systems. I imagine that you are using the automatic deploy to Facebook from the Conversation Tooling, this option would not resolve your need to access a Backend.
The image passed by #data_henrik shows exactly that.
In conversation, you can create context variables that will be used as triggers in the Orchestrator to let him know when you need to call a Backend service to provide an information and then write the response into the Conversation context.
About using the Chatbot to login into a system, passing a password, this isn't a safe option since all information typed would go to Watson Conversation log and any person with access to the tooling/api could see the passwords.

Link Analytics API to my Google Developers account

When I sign in to Google Developers console and go to the Enabled APIs tab, I see "No enabled APIs". I used to see the Analytics API here and now it's no longer there. That's because the project associated with it is gone.
I believe this happened when I switched my old Google account to the new Google Apps for Work account. It asked me to choose between the two because they had the same email address and I chose to keep the new one.
Unfortunately the old one had all the Developers APIs associated with it. :(
The Analytics API is still working, it's just no longer associated to my account. Is it possible to link it back to my account?
Thanks for your help,
Philip
PS. I can provide my Google email account and the Google Analytics API client id on request if needed.

Paypal Api. Switching from Sandbox to Live

Currently I have used the sandbox App Id and test credentials successfully to make API calls, however now I would like to switch to the live version. I looked at the check list and believe I switched out all the sandbox information to live credentials. However the last thing I need to switch out is the APP - ID. I created an App which has the status of "approved" in paypal developer however I'm not sure where to get the App - ID for it. In addition, should I be seeing the app in the Manage Classic Apps? I see it in My Apps on the developer page, but not in that section. Thank you very much for the help.
Select My Account > Profile > My Selling Tools, then click the Update (API Access) link
Click Request API Credentials on the API Access page
Select Request API signature and click Agree and Submit to generate a set of Signature credentials
More information can be found at: https://developer.paypal.com/webapps/developer/docs/classic/api/apiCredentials/
EDIT:
You will need to use the classic api to obtain an APP-ID. The new API does not use APP-ID's, but instead client ID's which are extremely different.