Actions on Google - Unable to use "quick account linking" - dialogflow-es

I set up my Actions on Google project with account linking enabled and the Implicit flow, it's working fine. However, when I try to select "Add quick account linking", after I save and click "Test Draft", it goes to the simulator page with an error message "Failed to enable simulator".
The error happens whether I select "Account creation", "Auto Google Sign-in" or both. I've filled the fields "GSI Client ID", "Token URL" and "Learn More URL" with proper values.
I can see under the hood that a POST query is made to https://console.actions.google.com/u/0/m/actions/agents/draft/createlocalizeduserpreview and returns a 500 error with "status":13. When I unselect "Add quick account linking", the same query succeeds and no error is displayed.
Did anyone get this to work?

Did you follow the steps to extend the Implicit flow and add a new endpoint that would handle the assertion request based on a JWT? This needs to be a new endpoint, and is similar to what you needed to do if you were implementing the Auth Code flow.
If so, verify that this endpoint is being called, that you're parsing the JWT correctly, and that you're returning either an auth code or a valid redirect to have the user sign-in.

Related

ServiceNow Azure SSO integration

I have been trying to create an SSO from Azure to ServiceNow. However, I am stuck at this error.
User: 6pGO5pzp9boSuAj82Cj6bK8aBeet9HKUdhNfUzalsKI= not found Ensure
that the user you are trying the test connection with is present in
the system. Ensure that 'User Field' property value corresponds to the
value set in the IDP returned through 'Subject NameID' in the
response.
I have tried different ID Policies. All of them give the same error though. This is the one I am using
urn:oasis:names:tc:SAML:2.0:nameid-format:transient
Can anyone helpout a little?
I was getting this same error until I changed the NameID Policy to urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress
User Field (under advanced): user_name
Type cache.do in filter navigator. Press enter.
Clear your browser cache.
Test connection.
See if that works and let me know.

B2C custom policy invitation link expiry custom error message

I have setup azure b2c custom policy for inivation flow, using this sample https://github.com/mrochon/b2csamples, it's working fine, but when the inivation link gets expired, and user opens that it shows error page with
"AADB2C90017: The client assertion provided in the request is invalid: 'client_secret' was used as the verification key"
I want to change the error message so user can know that link is expired.
You can Set a custom error page UI and Use CSS to hide the default error message.
Using JavaScript parse the default error message when it contains "AADB2C90017", then show a custom error message.
There are some samples which explains how to enable java script

Error 401 (Unauthenticated) when making a request to Google Docs API

I'm trying to request the contents of a Google doc (that I own) using the Google Docs API and the contents would be read to a website. I'm making the following request in Postman:
GET https://docs.googleapis.com/v1/documents/{documentId}?key=API_KEY
where the API_KEY is a key created in Google developer dashboard and is not restricted for now. However, I'm getting the following error:
{
"error": {
"code": 401,
"message": "Request is missing required authentication credential. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED"
}
}
I have made the doc public (read-access without signing in) and enabled the Docs API in the Google developer dashboard. Further, the dashboard is registering these (failing) requests, so something is going through.The answer is probably in the error message, but to me "or other valid authentication credential" means the API key that I'm already using.
I'm asking for advice on how to make this request successfully without needing to use OAuth or server-side code.
I found a workaround answer to my problem, although it didn't solve the problem with the Docs API. I decided to request the text data from a Google Sheet instead, which works fine with
GET https://sheets.googleapis.com/v4/spreadsheets/documentId?key=API_KEY
when the sheet is public and read-only.
Yes you can open the doc programatically using a service account. You need to "share" the doc with the service account email.
Instructions on creating a service account and reading a Google doc: https://www.futurice.com/blog/read-goog-doc-using-service-account

Getting TOKEN NOT FOUND each time on the Bluesnap Payment Gateway with merchant account

I am trying to do the payment with Hosted Payment Fields of bluesnap but every time it gives me token not found,
Below are the steps which I am doing...
Created the payment-fields-tokens
Called the https://sandbox.bluesnap.com/services/2/payment-fields-tokens with Auth details, and it gives me pfToken in the Location header.
See screenshot : https://www.screencast.com/t/R9gaUTbmT8
Put the token which got from the /payment-feilds-tokens api to the "Try it!" section on the https://developers.bluesnap.com/#section-1-token
and the clicked on the "Great. Continue to Step 2!" button for next step.
Put the Card information as per given inthe "Try it!" section on the left and clicked on the "Pay Now" button. Card data was successfully added to Bluesnap and Got the alert of "Continue on the Step 3!"
Copied the json which got on the Step 3 ( Charge & Vault )and put it to the "Try It Out" box on the https://developers.bluesnap.com/v8976-JSON/docs/auth-capture#api-explorer page.
https://www.screencast.com/t/o7qZALUkr2yJ
Getting error of token not found.
see screenshot : https://www.screencast.com/t/gwoWs1cndOM
It's would be much appreciated if help!
You're creating the token using your own API credentials in step 1, but then trying to use it on the bluesnap documentation's "try it now" section (step 4) which is most definitely connected to a different account. That's why it can't find your token under this different account.

How to get user image through user id in Google plus?

I used to get user image through this URL
https://plus.google.com/s2/photos/profile/(user_id)?sz=150
but now what all I am getting is 404 error or no image. I know google has changed its policies and way it connects and allows other to get information, but I didn't anything to achieve same result as above.
Note: I can't use authenticate thing here since I am showing image of users to other users which are not connected at all.
OR in other way user may be not coming from Google log-in but I need to show other Google users images only.
Any help would be highly appreciated!!!
Edit:
I have checked through people.get method
https://www.googleapis.com/plus/v1/people/11595...3592320?key=AIzaSyCkdmtNN1XDg....EpepOIIs
but I am getting error saying
{
"error": {
"errors": [
{
"domain": "usageLimits",
"reason": "accessNotConfigured",
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
],
"code": 403,
"message": "Access Not Configured. Please use Google Developers Console to activate the API for your project."
}
}
Edit: I have this already enabled since I am using Google+ log-in already in my site, here I am attaching screenshot:
Earlier I have also the same problem for my site after so much of research and efforts I found solution from my self and i hope that will also work for you and solve your problem:
Old Trick
Google had changed their policy so the old trick for getting the Google profile image will not work now.
e.g https://plus.google.com/s2/photos/profile/(user_id)?sz=150
New Trick
Get Request:
https://www.googleapis.com/plus/v1/people/115950284...320?fields=image&key={YOUR_API_KEY}
Response :200 OK
{
"image":
{
"url": "https://lh3.googleusercontent.com/-OkM...AANA/ltpH4BFZ2as/photo.jpg?sz=50"
}
}
Where YOUR_API_KEY is your Public API Access key which is generated through Credentials under APIs & Auth from https://console.developers.google.com/
And While creating Public API access key you can choose Referers URL's from which this request should be made but for checking you should try by not adding any URL to it, if it works then go with URL of your site.
You can choose other fields to send with URL which you may need from here.
Happy Coding!!!
You can get this information using the people.get Google+ API call and specifying the userid of the user you want information for. This will include an image.url field which you can use and resize as appropriate.
Since this is public information for a user, you don't need the user to authenticate to access it. You do, however, need an API Key which you will add to the end of the URL used in the API call.
You can get an API Key by going to https://console.developers.google.com/ under the "APIs and auth" section and "Credentials" subsection. You can then click on the button under "Public API Access" that says "Create New Key".
The URL you'll use to get the info will look something like
https://www.googleapis.com/plus/v1/people/1234567890?key=api_key
and you'll get back a JSON object with the profile info.
Update:
Make sure you have also enabled the Google+ API in the developes console. You can get to this through https://console.developers.google.com/, under the "APIs and auth" section and "API" subsection, you can find the "Google+ API" on the list and turn it on.

Resources