Azure API Management subscription event - azure-api-management

When a developer ask to subscribe to a particular API product in the Dev Portal, if I checked the 'need approval' option, a workflow is created and the subscription is waiting to be approved by the administrator.
I have a use case where I need to do additional tasks before the approval, in particular I need to create an App in the AD for OAuth2 and set the right permissions.
I'm looking for a way to trigger a Power Automate workflow when a subscription is requested, then use the content of the event to execute tasks and then ask a user to approve the requested subscription (thanks to a Power Automate approval).
Unfortunately, the only way to be informed that a product subscription was requested is to receive an email and unfortunately, the content of this email cannot be customized. The default email content is not really useful to detect what subscription is about and to find additional settings.
Any ideas to manage this?

Here is a walkthrough which uses the Logic App to customize the subscription approval workflow. It might be helpful for your case as well. Check it out: https://github.com/adamhockemeyer/Azure-API-Management-Custom-Subscription-Approval

Related

How to create Firebase Cloud messaging recurring notifications without console?

From FCM console I can not set up much more than 10 recurring notifications.
You can have up to 10 unique recurring notifications active per
project
I want to aim targeting audiences, user properties, last user engagement also. For example, you can set up a recurring notification that sends a push notification to a user who has been inactive for 2 days. From FCM console it is possible but I want to set it up manually since FCM console does not allow me to create recurring notifications much more than 10.
There is no API to create recurring notifications in Firebase Cloud Messaging. Since you already tagged your question with google-cloud-functions, you seem to know that you can create scheduled tasks with that.
To create a scheduled, recurring notification you can:
either run a function on a PubSub schedule or enqueue functions with Cloud Tasks, and
combine that with notifying the user when something interesting happens
From this documentation and the examples in it, you should be able to get the use-case working. If not, post another question with the minimal, complete code that any of us can run to reproduce where you got stuck.

How to avoid Restricted Scopes OAuth verification process for private scripts used only by me?

I have received email from Google with subject: [Action Required] Submit your app(s) for Restricted Scopes OAuth verification,
same as many of you.
I'm using GAS only for developing applications for my personal use - not for public. Applications such as sending summary emails to my clients, when they buy a product from my web pages.
Do I have to go through the whole process of verification?
Do I have to create public Terms of Service?
Is there any way how I can explain to google, that my applications are not used by anybody else then by
me?
How to get to know for sure that my app won't stop?
I have read through FAQ (https://support.google.com/cloud/answer/9110914) and many other documents by google about this topic..
I have checked similar questions found on web, but with no luck of answers.. It looks it's pretty new experience for all of us..
Thank you for any advices.
I have personal account, so I can't use "internal apps" selection, this works only for paid G-suite customers which I'm not.
EDIT:
As Yoel Vinitsky stated, app doesn't need verification if it has only one user.
Here at bottom: https://support.google.com/cloud/answer/7454865 is table which shows that there is quota 100 new users in total, once the app presents the unverified app screen.
It seems like that I don't have to worry about verification of my apps at all, because I'm the only one user or maybe I use this app from 2 or 3 more users emails so it should be ok, my question is, is it going to be ok without verification, or not?
EDIT 2:
Google sent clarification email:
NO ACTION is required if:
Only owners use the project: If the project is only used by owners of the project, no action is required.
To determine whether you are an owner (versus an editor or viewer), follow these steps:
Click the project link above to navigate to its OAuth Consent Screen
configuration page.
Click the Navigation Menu button in the
upper-left corner, select IAM & admin, and click IAM. This will show you all project contributors and their roles.
The project doesn’t have users outside of your G Suite domain:If the project owner is using a G Suite account and the project is only used by Google Accounts in the project owner’s domain, no action is required (learn more here).
But the question is how to avoid verification with personal accounts for my own scripts used only by me?
As mentioned in the support FAQ You linked to:
When can I skip publishing my app for a review?
You do not need to request for verification if your app is
going to be used in any of the following scenarios:
1) The app is not shared with anyone else.
2) The app is used to send emails through WordPress, or
3) similar single account SMTP plug-ins.
The only drawbacks should be the warning that your app is unverified and maybe quota limits.

How can I automatcially confirm subscription to SNS Notifications

I regularly spin up and spin down elastic beanstalk environments which have my team's email set as the notification address. Is there a way I can automatically confirm subscription to all of the SNS topics that are created instead of having to manually click a link in an email every time (and miss a few)?
It seems you are programmatically creating environments. You may consider automatically confirming subscriptions using the SNS ConfirmSubscription API
http://docs.aws.amazon.com/sns/latest/APIReference/API_ConfirmSubscription.html
Also another option is to create your own topic and subscribe your email to it. Then reuse the topic for all your environments using the "Notification Topic ARN" option setting instead of providing an email address when launching a new beanstalk environment. That way you subscribe the topic once and then forget about it.
There is no good way that I know of to do this. The easiest way I can think of would be instead of subscribing an email to the topic, subscribe an SQS queue, and then have a separate process reading from that SQS queue and sending emails to your team email address. It's not pretty, but it will work, and you won't lose any messages.
There is no need to create a new SNS topic for each environment.
For example, when configuring notifications using configuration options, using this option:
Notification Topic ARN – [...] You can also set this option to use an
existing SNS topic for notifications. A topic that you attach to your
environment by using this option is not deleted when you change this
option or terminate the environment.
Then for each new environment the mailing-list is only receiving this type of e-mail for which there is no need to confirm subscription:
This is a publish notification test for environment
'your-new-environment-name', to verify permissions to attach an SNS topic
to the environment.
-- If you wish to stop receiving notifications from this topic, please click or visit the link below to unsubscribe:
https://sns.eu-west-1.amazonaws.com/unsubscribe.html?some_key..

GAS execute under the content of active user

Is it possible to use a Google form, develop a GAS script that executes on form submission but have it run under the context of the users submitting the form?
Users will be in a GApps for Business domain?
Will it need to be published as a web app using doGet(), even though there will be no UI?
Only webApps have the ability to run under user's authority and they have an authorization request feature to handle that case. A form has no way to ask for authorization so it won't be able to do anything (or to trigger a script that would do anything) in the name of a user without explicit permission. That's a basic security case and hopefully there will be no way to go around it.
I guess the only way to get what you want would be to create the form with UiApp or HTML Service and deploy it as a webapp running under user's authority, in that case your users will be asked for authorization to access the services you need.
note : you said "even though there will be no UI?" but the form itself is a Ui isn't it ?...

Box.Net users-on-behalf-of-enterprise-user working

In Box developer document they ask to contact them with the API key generated.
Reference:
http://developers.box.com/docs/#users-on-behalf-of-enterprise-user
Is there is any api(Java) to get the other users mail box with the admin credential.
The primary purpose of "on-behalf-of" is to make calls on behalf of your company's users as an administrator. A great use case is if you'd like to prepopulate your new hire's account with a set of folders before they start on day 1.
In order to get the listing of enterprise users in your account, you would use the following API call if you are an administrator: http://developers.box.com/docs/#users-get-all-the-users-in-an-enterprise. This is currently not built into the Java SDK, but it is open source if you want to submit a pull request to it to add the functionality.