This repo has been deprecated, its content was combined into AzUrlShortener. All further updates will be done to the code base in that repository.
Read the previous README.md
Admin tools for Azure Url Shortener using Blazor Single Page Application (webassembly)
License: MIT License
This repo has been deprecated, its content was combined into AzUrlShortener. All further updates will be done to the code base in that repository.
Read the previous README.md
Display some stats for the clicks
Dev branch will be sync with the stream version deployed in Azure
Use a Azure Key Vault to keep our secrets:
Hello,
Under step 4- Create Azure Active Directory (AAD) Components, you have specified to Create App for the Azure Function
"We need a second App registration, this time to let the Azure Function validate that user information contained in the token is valid."
I am unable to understand how you got to this step and how you created a new app function, If I am to create a new app function then what and how am I need to do it.
I do not know what I need to select with the creating a new function app.
Can you please help guide. even on the video from YouTube this particular step is not very clear how you ended up creating the second function app.
https://www.youtube.com/watch?v=UaUdFSXrbmA
There are important files that Microsoft projects should all have that are not present in this repository. A pull request has been opened to add the missing file(s). When the pr is merged this issue will be closed automatically.
Microsoft teams can learn more about this effort and share feedback within the open source guidance available internally.
Not sure if something changed but the Template Icon on the code page that the installation instructions indicate to use is not present. I can still clone the repo but not sure if there is impact to the "desired" deployment methodology if the repo is cloned versus created from a template. Seeking to use TinyBlazorAdmin as a front end to the URL Shortner
index.html gives the following error:
Failed to find a valid digest in the 'integrity' attribute for resource 'https://xxxxxxxxx.z20.web.core.windows.net/_framework/wasm/dotnet.3.2.0-preview5.20216.1.js' with computed SHA-256 integrity 'jM5hce+cJKdngTUxMSXwqnnGvibwtf+QbWtu1yMCt/s='. The resource has been blocked.
I have checked the deployment steps multiple times. Not able to figure out what's wrong.
I am so much impressed by this work – definitely something I need to study in more detail how it actually works altogether :D
While I was checking this out, I noticed that the Branding Home page URL of the frontend app registration is left empty:
Because of this, the related Enterprise App object that is created after initial login cannot be used to login with a single click from the My Apps portal:
One could simply add the starting page of the frontend but that doesn't login the user automatically so a click on the "Login" button is still needed.
I tried a couple of variants of the URL of the backend Azure Function application, e.g. OAuth2 endpoints but apparently had no luck. RedirectToLogin.razor
seems to handle the redirection but simply replicating this URL and use it for Homepage URL doesn't do the trick.
I fear I am not an expert of this authentication provider stuff in Azure (yet). That's why I wanted to bring this idea into this post, maybe someone more familiar with the matter knows how to actually put this together :-)
I am trying to setup AzurlShortener v2 but I am stuck at conencting the TinyBlazorAdmin SWA to the function via AD.
Mind you I am still a noob when it comes to AD only tried it out once, so I am totally inexperienced when it comes to it. Sorry if I might have missed an obvious step thats common knowledge.
I followed the deployment.md instructions but found a few things unclear and couldn't get the authentication to work.
1. For the App Registration for the front end, you didn't specify the callback URL we should use for it, tbut in your screenshot it sais "Redirect URIs: 1". If you leave it blank then you just get an error when trying to login "No reply address is registered for the application".
I then copied the callback URL from functions App-Registration but this didn't work either as I got the error "The reply URL specified in the request does not match the reply URLs configured for the application". This made me look at the request URL in my browser and I could make out the string "/authentication/login-callback" which just resulted in a 404 when being plugged in as the callback URI in the App-Registration.
2. At the end you instruct us to fill it out with the "AD app to use", which I assume is the frontend AD app but it would be nice of you to write it down, this can be a bit confusing. Also would be nice to note that the x's in the Authority
field should be the Tenant-ID because not everyone will know what to replace it with, I hope this is even correct because I wasn't really sure either.
Not sure if I do something wrong or if I have made a mistake with my thinking.
When I create try to create a new Blazor Admin frontend as described in this step:
https://github.com/FBoucher/TinyBlazorAdmin/blob/main/deployment.md#deploy-tinyblazoradmin-the-frontend
the GitHub action fails with:
"App Directory Location: 'src/TinyBlazorAdmin/' is invalid. Could not detect this directory. Please verify your workflow reflects your repository structure."
My GitHub repository where the TinyBlazorAdmin is deployed to is empty. Do I miss a step to prepare the and commit already some files or folder structure to the GitHub repository?
The MVP should have those functionalities:
This app has implicit grant settings enabled. If you are using any of these URIs in a SPA with MSAL.js 2.0, you should migrate URIs
I needs to use Single-page application
Create a 1920x1080 wall paper white/ cloudy backgrouod with the logo in the middle
Use this logo: https://github.com/FBoucher/TinyBlazorAdmin/raw/main/medias/TinyBlazorAdmin.png
@FBoucher when i try to create a static web app and Deploy TinyBlazorAdmin (the Frontend) the build fails and i am getting the error
Is there a way to resolve the issue.?
Moving to main branch as default instead of master
The doc already exists we should probably just have a link that refers it.
https://github.com/FBoucher/AzUrlShortener/blob/main/post-deployment-configuration.md
This will not run/install as described in Azure. Discussion posts indicate other users are experiencing unanswered concerns. if you have moved on from the project can you please indicate that it is no longer viable. It would save others from repeating loop.
Recently installed URL Shortner and TinyBlazorAdmin. When I hit the SWA link i get a page the my web app is live but we dont have any content udpdates. I followed the instruction with the one step of not being able to add an invite because it again said I needed to have a deployment before I could send an invite.
I am not sure what I am missing. the URLShortner test redirect via api worked just fine..
We start with manual deployment but we should have an automatic deployment. (CICD, deploy button, something)
Hi,
When I try to deploy this on Azure, it successfully deploys, but I had to follow a slightly different process due to using two different tenants - one for Azure and one for Azure Active Directory. I couldn't use Express deployment.
My issue comes when I login - I am getting a 400 Bad Request with one of the POST requests - the one to get an OAuth2 token. The token scope is attempting to get a scope of https://shortenertoolsdl6rq.azurewebsites.netuser_impersonation. It doesn't add the '/' needed in this scope to allow it to work. I could get around this by modifying the Program.cs and AzFuncAuthorizationMessageHandler.cs file.
I then faced a 401 Not Authorized from UrlList. This seems to be due to the destination being the frontend? Can you please help to provide guidance? This might be something easy I missed (I am in school studying Computer Science, so I thought this might be a fun program to try to deploy to learn more on Azure).
Thank you!
Ryan
I have followed all the deployment steps which where shared, but I still see “Not authorized” error in website while browsing it.
Did any one is facing same issue ? How to resolve it ? Do we need to follow any others steps.
Transforming the repo in a template will make things easier on users who are less familiar with GitHub.
We need a logo or art for this project!
Hi really dont understand from the deployment descript what azure function is now responsible for authentication im only getting The resource principal named xxx not found in the tenant named xxx
Is it possible that the readme is updated with coherent names so its really clear what to put where.
Make that home screen a little bit more pleasing.
When I try to access the "URLs Manager" I'm getting 401 Unauthorized from the service -- but I don't understand why, and I'm hoping someone can give me a nudge in the right direction.
The service is running (no problem there, of course)...
I temporarily disabled the authentication check on UrlShortener
and added a few URLs and tested them, so I'm sure the actual function app is working, I just can't figure out how to authenticate to it.
I eventually got my AAD apps and custom domains and CORS all working -- and was able to log in with the TinyBlazorAdmin pointing at my function app... but every attempt to actually use the admin app is resulting in those "An unhandled error has occurred. Reload" error bars, and showing up in the logs for UrlList or UrlClickStatsByDay as "Request was not authenticated."
Browser debug tools shows I'm sending an authorization: Bearer ....
token in the request, but I don't understand where I went wrong.
There are a few images missing (not displayed) in the manual deployment description:
https://github.com/FBoucher/TinyBlazorAdmin/blob/main/deployment.md
Examples:
Let's try to upgrade to .NET 7.0
So, I am trying to get the Admin Site up and running. I cloned the site, and now I am running the project in VS 2022.
The site opens in the browser as expected, but then I l click the to log in. the app goes to http://localhost:5000/login
, and then shows a 404 as there is no page with a route of "login".
I see a component name "RedirectToLogin" but it doesn't appear to be used anywhere.
I see these lines commented out in Program.cs. Was that intentional?
builder.Services.AddMsalAuthentication(options =>
{
builder.Configuration.Bind("AzureAd", options.ProviderOptions.Authentication);
});
Just trying to get the site up and running! Want to use the url shortner on a project, and also it is a good learning experience for me.
When trying to login to Tiny Blazor Admin I receive the message:
"AADSTS70011: The provided request must include a 'scope' input parameter. The provided value for the input parameter 'scope' is not valid. The scope user.read openid profile https://*********.azurewebsites.netuser_impersonation is not valid. The scope format is invalid. Scope must be in a valid URI form https://example/scope or a valid Guid <guid/scope>."
Branch in screenshot is master, but it is really main. Please provide a new screenshot. Deployment error is hard to interpret.
A new version of the TinyBlazorAdmin is been worked on. All the progress will be shared in this Issue.
Get this error when clicking on the deploy button:
There was an error downloading the template from URI 'https://raw.githubusercontent.com/FBoucher/AzUrlShortener/master/deployment/azureDeploy.json'. Ensure that the template is publicly accessible and that the publisher has enabled CORS policy on the endpoint. To deploy this template, download the template manually and paste the contents in the 'Build your own template in the editor' option below.
Wasn't "master" renamed to "main" ?
Hello and Merry Christmas!
New user here. Admin pages don't appear after authentication, which might be due to a deployment issue.
I forked (instead of the missing template button mentioned in #96) and deployed a new Azure Static Web App.
The CI/CD Build and Deploy fob failed
Function Runtime Information. OS: windows, Functions Runtime: ~4, dotnetisolated version: 6.0
Finished building function app with Oryx
Found functions.metadata file
Zipping Api Artifacts
Done Zipping Api Artifacts
Zipping App Artifacts
Done Zipping App Artifacts
Uploading build artifacts.
Finished Upload. Polling on deployment.
Status: InProgress. Time: 0.2068232(s)
Status: InProgress. Time: 15.541558(s)
Status: InProgress. Time: 30.9731139(s)
Status: InProgress. Time: 46.1779804(s)
Status: InProgress. Time: 61.5382815(s)
Status: InProgress. Time: 77.0684518(s)
Status: InProgress. Time: 92.2784962(s)
Status: InProgress. Time: 107.4911664(s)
Status: InProgress. Time: 122.692901(s)
Status: InProgress. Time: 137.9031077(s)
Status: InProgress. Time: 153.1032492(s)
Status: InProgress. Time: 168.3049412(s)
Status: InProgress. Time: 183.5069926(s)
Status: InProgress. Time: 198.7109522(s)
Status: InProgress. Time: 213.9119251(s)
Status: InProgress. Time: 229.1544067(s)
Upload Timed Out. Unsure if deployment was successful or not.
For further information, please visit the Azure Static Web Apps documentation at https://docs.microsoft.com/en-us/azure/static-web-apps/
If you believe this behavior is unexpected, please raise a GitHub issue at https://github.com/azure/static-web-apps/issues/
Exiting
It will deploy eventually... but after Role Management --> Invite --> Role = admin, the menu options still don't appear after authentication
Not sure if this is the cause, but it is complaining about an old node version
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.