Hi,
every now and then I get back to smalltalk/ pharo to find out if there's a
practical way to use pharo to manage cloud resources, e.g. by calling
Azure- or AWS APIs.
I know there have been efforts to implement a Smalltalk binding to use the
AWS API at least for some of their services but it looks like there's
support for only a few, eg S3.
I'd love to use pharo to build a seaside app with a nice UI to make calls
to Azure and/ or AWS to start/ stop ec2 instances etc.
Of course I could create Azure functions that do the API calls and then
just call those functions from pharo - but I ask myself if there's a nicer
way do do this ...
Any recommendations?
Regards
Stefan
We use Azure with our GS Seaside app for single sign-on. Once we have the Azure Graph token we then use that token for Graph API calls. Works nicely. I find MS Graph documentation to be excellent, as are all the supporting YouTube videos.
Here's a short Seaside summary of the steps we use...
1 - initialRequest: -> redirect to https://login.microsoftonline.com/ with your Azure application id and redirection URL, which for use is our app URL + ?authenticate 2 - initialRequest: with 'authenticate' -> send request to https://login.microsoftonline.com/ with the authentication token provided by the MS redirect 3 - extract the Graph access token from the response 4 - use the Graph access token for Graph web service calls. In our case we use https://graph.microsoft.com/v1.0/me + Bearer <accessToken> to get the authenticated user's Graph ID, which we then use to find the application user object.5 - refresh the token before it expires, which is usually under and hour, by checking the expires_in value
We've been running this way for a few months now. Next step is to expand our use of MS Graph with Outlook, Teams and SharePoint.
Hope that helps,Bob Nemec
On Friday, August 5, 2022 at 11:39:48 a.m. EDT, Stefan Krecher <stefan.krecher@gmail.com> wrote:
Hi,every now and then I get back to smalltalk/ pharo to find out if there's a practical way to use pharo to manage cloud resources, e.g. by calling Azure- or AWS APIs.I know there have been efforts to implement a Smalltalk binding to use the AWS API at least for some of their services but it looks like there's support for only a few, eg S3.I'd love to use pharo to build a seaside app with a nice UI to make calls to Azure and/ or AWS to start/ stop ec2 instances etc.Of course I could create Azure functions that do the API calls and then just call those functions from pharo - but I ask myself if there's a nicer way do do this ...Any recommendations?RegardsStefan