├── .gitattributes ├── .gitignore ├── README.md ├── XamarinFormsOIDCSample.API ├── App_Start │ └── WebApiConfig.cs ├── Controllers │ └── CowsController.cs ├── Properties │ ├── AssemblyInfo.cs │ └── PublishProfiles │ │ └── xamarinoidcsampleapi - Web Deploy.pubxml ├── Startup.cs ├── Web.Debug.config ├── Web.Release.config ├── Web.config ├── XamarinFormsOIDCSample.API.csproj └── packages.config ├── XamarinFormsOIDCSample.Client ├── XamarinFormsOIDCSample.Client.Droid │ ├── Assets │ │ └── AboutAssets.txt │ ├── MainActivity.cs │ ├── Properties │ │ ├── AndroidManifest.xml │ │ └── AssemblyInfo.cs │ ├── Resources │ │ ├── AboutResources.txt │ │ ├── Resource.Designer.cs │ │ ├── drawable-hdpi │ │ │ └── icon.png │ │ ├── drawable-xhdpi │ │ │ └── icon.png │ │ ├── drawable-xxhdpi │ │ │ └── icon.png │ │ └── drawable │ │ │ └── icon.png │ ├── XamarinFormsOIDCSample.Client.Droid.csproj │ ├── app.config │ └── packages.config ├── XamarinFormsOIDCSample.Client.WinPhone │ ├── App.xaml │ ├── App.xaml.cs │ ├── Assets │ │ ├── AlignmentGrid.png │ │ ├── ApplicationIcon.png │ │ └── Tiles │ │ │ ├── FlipCycleTileLarge.png │ │ │ ├── FlipCycleTileMedium.png │ │ │ ├── FlipCycleTileSmall.png │ │ │ ├── IconicTileMediumLarge.png │ │ │ └── IconicTileSmall.png │ ├── LocalizedStrings.cs │ ├── MainPage.xaml │ ├── MainPage.xaml.cs │ ├── Properties │ │ ├── AppManifest.xml │ │ ├── AssemblyInfo.cs │ │ └── WMAppManifest.xml │ ├── README_FIRST.txt │ ├── Resources │ │ ├── AppResources.Designer.cs │ │ └── AppResources.resx │ ├── SplashScreenImage.jpg │ ├── Toolkit.Content │ │ ├── ApplicationBar.Add.png │ │ ├── ApplicationBar.Cancel.png │ │ ├── ApplicationBar.Check.png │ │ ├── ApplicationBar.Delete.png │ │ └── ApplicationBar.Select.png │ ├── XamarinFormsOIDCSample.Client.WinPhone.csproj │ ├── app.config │ └── packages.config ├── XamarinFormsOIDCSample.Client.iOS │ ├── AppDelegate.cs │ ├── Entitlements.plist │ ├── Info.plist │ ├── Main.cs │ ├── Properties │ │ └── AssemblyInfo.cs │ ├── Resources │ │ ├── Default-568h@2x.png │ │ ├── Default-Portrait.png │ │ ├── Default-Portrait@2x.png │ │ ├── Default.png │ │ ├── Default@2x.png │ │ ├── Icon-60@2x.png │ │ ├── Icon-60@3x.png │ │ ├── Icon-76.png │ │ ├── Icon-76@2x.png │ │ ├── Icon-Small-40.png │ │ ├── Icon-Small-40@2x.png │ │ ├── Icon-Small-40@3x.png │ │ ├── Icon-Small.png │ │ ├── Icon-Small@2x.png │ │ ├── Icon-Small@3x.png │ │ └── LaunchScreen.storyboard │ ├── XamarinFormsOIDCSample.Client.iOS.csproj │ ├── app.config │ ├── iTunesArtwork │ ├── iTunesArtwork@2x │ └── packages.config └── XamarinFormsOIDCSample.Client │ ├── App.cs │ ├── GettingStarted.Xamarin │ ├── Properties │ └── AssemblyInfo.cs │ ├── Views │ ├── LoginView.xaml │ └── LoginView.xaml.cs │ ├── XamarinFormsOIDCSample.Client.csproj │ ├── app.config │ └── packages.config ├── XamarinFormsOIDCSample.IdentityServer ├── Certificates │ ├── DevRoot.cer │ └── idsrv3test.cer ├── Config │ ├── Clients.cs │ ├── Scopes.cs │ └── Users.cs ├── Properties │ ├── AssemblyInfo.cs │ └── PublishProfiles │ │ └── xamarinoidcsamplests - Web Deploy.pubxml ├── Startup.cs ├── Web.Debug.config ├── Web.Release.config ├── Web.config ├── XamarinFormsOIDCSample.IdentityServer.csproj └── packages.config └── XamarinFormsOIDCSample.sln /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.userosscache 8 | *.sln.docstates 9 | 10 | # User-specific files (MonoDevelop/Xamarin Studio) 11 | *.userprefs 12 | 13 | # Build results 14 | [Dd]ebug/ 15 | [Dd]ebugPublic/ 16 | [Rr]elease/ 17 | [Rr]eleases/ 18 | x64/ 19 | x86/ 20 | build/ 21 | bld/ 22 | [Bb]in/ 23 | [Oo]bj/ 24 | 25 | # Visual Studio 2015 cache/options directory 26 | .vs/ 27 | 28 | # MSTest test Results 29 | [Tt]est[Rr]esult*/ 30 | [Bb]uild[Ll]og.* 31 | 32 | # NUNIT 33 | *.VisualState.xml 34 | TestResult.xml 35 | 36 | # Build Results of an ATL Project 37 | [Dd]ebugPS/ 38 | [Rr]eleasePS/ 39 | dlldata.c 40 | 41 | # DNX 42 | project.lock.json 43 | artifacts/ 44 | 45 | *_i.c 46 | *_p.c 47 | *_i.h 48 | *.ilk 49 | *.meta 50 | *.obj 51 | *.pch 52 | *.pdb 53 | *.pgc 54 | *.pgd 55 | *.rsp 56 | *.sbr 57 | *.tlb 58 | *.tli 59 | *.tlh 60 | *.tmp 61 | *.tmp_proj 62 | *.log 63 | *.vspscc 64 | *.vssscc 65 | .builds 66 | *.pidb 67 | *.svclog 68 | *.scc 69 | 70 | # Chutzpah Test files 71 | _Chutzpah* 72 | 73 | # Visual C++ cache files 74 | ipch/ 75 | *.aps 76 | *.ncb 77 | *.opensdf 78 | *.sdf 79 | *.cachefile 80 | 81 | # Visual Studio profiler 82 | *.psess 83 | *.vsp 84 | *.vspx 85 | 86 | # TFS 2012 Local Workspace 87 | $tf/ 88 | 89 | # Guidance Automation Toolkit 90 | *.gpState 91 | 92 | # ReSharper is a .NET coding add-in 93 | _ReSharper*/ 94 | *.[Rr]e[Ss]harper 95 | *.DotSettings.user 96 | 97 | # JustCode is a .NET coding add-in 98 | .JustCode 99 | 100 | # TeamCity is a build add-in 101 | _TeamCity* 102 | 103 | # DotCover is a Code Coverage Tool 104 | *.dotCover 105 | 106 | # NCrunch 107 | _NCrunch_* 108 | .*crunch*.local.xml 109 | 110 | # MightyMoose 111 | *.mm.* 112 | AutoTest.Net/ 113 | 114 | # Web workbench (sass) 115 | .sass-cache/ 116 | 117 | # Installshield output folder 118 | [Ee]xpress/ 119 | 120 | # DocProject is a documentation generator add-in 121 | DocProject/buildhelp/ 122 | DocProject/Help/*.HxT 123 | DocProject/Help/*.HxC 124 | DocProject/Help/*.hhc 125 | DocProject/Help/*.hhk 126 | DocProject/Help/*.hhp 127 | DocProject/Help/Html2 128 | DocProject/Help/html 129 | 130 | # Click-Once directory 131 | publish/ 132 | 133 | # Publish Web Output 134 | *.[Pp]ublish.xml 135 | *.azurePubxml 136 | ## TODO: Comment the next line if you want to checkin your 137 | ## web deploy settings but do note that will include unencrypted 138 | ## passwords 139 | #*.pubxml 140 | 141 | *.publishproj 142 | 143 | # NuGet Packages 144 | *.nupkg 145 | # The packages folder can be ignored because of Package Restore 146 | **/packages/* 147 | # except build/, which is used as an MSBuild target. 148 | !**/packages/build/ 149 | # Uncomment if necessary however generally it will be regenerated when needed 150 | #!**/packages/repositories.config 151 | 152 | # Windows Azure Build Output 153 | csx/ 154 | *.build.csdef 155 | 156 | # Windows Store app package directory 157 | AppPackages/ 158 | 159 | # Visual Studio cache files 160 | # files ending in .cache can be ignored 161 | *.[Cc]ache 162 | # but keep track of directories ending in .cache 163 | !*.[Cc]ache/ 164 | 165 | # Others 166 | ClientBin/ 167 | [Ss]tyle[Cc]op.* 168 | ~$* 169 | *~ 170 | *.dbmdl 171 | *.dbproj.schemaview 172 | *.pfx 173 | *.publishsettings 174 | node_modules/ 175 | orleans.codegen.cs 176 | 177 | # RIA/Silverlight projects 178 | Generated_Code/ 179 | 180 | # Backup & report files from converting an old project file 181 | # to a newer Visual Studio version. Backup files are not needed, 182 | # because we have git ;-) 183 | _UpgradeReport_Files/ 184 | Backup*/ 185 | UpgradeLog*.XML 186 | UpgradeLog*.htm 187 | 188 | # SQL Server files 189 | *.mdf 190 | *.ldf 191 | 192 | # Business Intelligence projects 193 | *.rdl.data 194 | *.bim.layout 195 | *.bim_*.settings 196 | 197 | # Microsoft Fakes 198 | FakesAssemblies/ 199 | 200 | # Node.js Tools for Visual Studio 201 | .ntvs_analysis.dat 202 | 203 | # Visual Studio 6 build log 204 | *.plg 205 | 206 | # Visual Studio 6 workspace options file 207 | *.opt 208 | 209 | # LightSwitch generated files 210 | GeneratedArtifacts/ 211 | _Pvt_Extensions/ 212 | ModelManifest.xml 213 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # XamarinFormsOIDCSample 2 | Xamarin Forms OAuth 2.0 / OpenID Connect Sample with IdentityServer3 3 | 4 | Related blog post: https://www.kevindockx.com/working-with-oauth2-and-openid-connect-from-a-xamarin-forms-application-using-identityserver3/ 5 | 6 | Note: in the sample, I deployed IdSrv & the API to Azure. If you want to run this locally, you have to make sure that you can access these from your Xamarin application. To enable this with IIS Express, have a look at https://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-how-to-configure-iis-express/ 7 | 8 | Even though that post is aimed at Azure Mobile Services, it nicely explains the steps you have to take to configure IIS Express (& your machine) so you can access services hosted on your IIS Express from a Xamarin application, running in an emulator. 9 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.API/App_Start/WebApiConfig.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Web.Http; 5 | using Newtonsoft.Json.Serialization; 6 | 7 | namespace XamarinFormsOIDCSample.API 8 | { 9 | public static class WebApiConfig 10 | { 11 | public static HttpConfiguration Register() 12 | { 13 | // Web API configuration and services 14 | var config = new HttpConfiguration(); 15 | 16 | // Web API routes 17 | config.MapHttpAttributeRoutes(); 18 | 19 | config.Routes.MapHttpRoute( 20 | name: "DefaultApi", 21 | routeTemplate: "api/{controller}/{id}", 22 | defaults: new { id = RouteParameter.Optional } 23 | ); 24 | 25 | // no XML 26 | config.Formatters.XmlFormatter.SupportedMediaTypes.Clear(); 27 | 28 | // results should come out 29 | // - with indentation for readability 30 | // - in camelCase 31 | 32 | var json = config.Formatters.JsonFormatter; 33 | json.SerializerSettings.Formatting = Newtonsoft.Json.Formatting.Indented; 34 | json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver(); 35 | 36 | return config; 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.API/Controllers/CowsController.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net; 5 | using System.Net.Http; 6 | using System.Web.Http; 7 | 8 | namespace XamarinFormsOIDCSample.API.Controllers 9 | { 10 | public class CowsController : ApiController 11 | { 12 | [Route("api/cows")] 13 | public IHttpActionResult Get() 14 | { 15 | return Ok(new [] { new { Name = "Bella", SoundsLike = "Moooh" } }); 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.API/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("XamarinFormsOIDCSample.API")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("XamarinFormsOIDCSample.API")] 13 | [assembly: AssemblyCopyright("Copyright © 2016")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("7d6ff2a9-42c1-4f89-9b4e-cea02b01e998")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.API/Properties/PublishProfiles/xamarinoidcsampleapi - Web Deploy.pubxml: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | MSDeploy 9 | AzureWebSite 10 | Release 11 | Any CPU 12 | http://xamarinoidcsampleapi.azurewebsites.net 13 | True 14 | False 15 | xamarinoidcsampleapi.scm.azurewebsites.net:443 16 | xamarinoidcsampleapi 17 | 18 | True 19 | WMSVC 20 | True 21 | $xamarinoidcsampleapi 22 | <_SavePWD>True 23 | <_DestinationType>AzureWebSite 24 | 25 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.API/Startup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.Threading.Tasks; 6 | using System.Web.Http; 7 | using IdentityServer3.AccessTokenValidation; 8 | using Owin; 9 | 10 | namespace XamarinFormsOIDCSample.API 11 | { 12 | public class Startup 13 | { 14 | public object JwtSecurityTokenHandler { get; private set; } 15 | 16 | public void Configuration(IAppBuilder app) 17 | { 18 | 19 | app.UseIdentityServerBearerTokenAuthentication(new 20 | IdentityServerBearerTokenAuthenticationOptions 21 | { 22 | Authority = "https://xamarinoidcsamplests.azurewebsites.net/identity", 23 | RequiredScopes = new[] { "cowsapi" } 24 | }); 25 | 26 | var httpConfig = WebApiConfig.Register(); 27 | 28 | // enable authorization 29 | httpConfig.Filters.Add(new AuthorizeAttribute()); 30 | // configure webapi 31 | app.UseWebApi(httpConfig); 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.API/Web.Debug.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 18 | 29 | 30 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.API/Web.Release.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 17 | 18 | 19 | 30 | 31 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.API/Web.config: -------------------------------------------------------------------------------- 1 |  2 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.API/XamarinFormsOIDCSample.API.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | Debug 8 | AnyCPU 9 | 10 | 11 | 2.0 12 | {7D6FF2A9-42C1-4F89-9B4E-CEA02B01E998} 13 | {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} 14 | Library 15 | Properties 16 | XamarinFormsOIDCSample.API 17 | XamarinFormsOIDCSample.API 18 | v4.5.2 19 | true 20 | 44300 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | true 30 | full 31 | false 32 | bin\ 33 | DEBUG;TRACE 34 | prompt 35 | 4 36 | 37 | 38 | pdbonly 39 | true 40 | bin\ 41 | TRACE 42 | prompt 43 | 4 44 | 45 | 46 | 47 | ..\packages\IdentityModel.1.2.1\lib\net45\IdentityModel.Net45.dll 48 | True 49 | 50 | 51 | ..\packages\IdentityServer3.AccessTokenValidation.2.5.0\lib\net45\IdentityServer3.AccessTokenValidation.dll 52 | True 53 | 54 | 55 | ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\lib\net45\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.dll 56 | True 57 | 58 | 59 | 60 | ..\packages\Microsoft.IdentityModel.Protocol.Extensions.1.0.2.206221351\lib\net45\Microsoft.IdentityModel.Protocol.Extensions.dll 61 | True 62 | 63 | 64 | ..\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll 65 | True 66 | 67 | 68 | ..\packages\Microsoft.Owin.Host.SystemWeb.3.0.1\lib\net45\Microsoft.Owin.Host.SystemWeb.dll 69 | True 70 | 71 | 72 | ..\packages\Microsoft.Owin.Security.3.0.1\lib\net45\Microsoft.Owin.Security.dll 73 | True 74 | 75 | 76 | ..\packages\Microsoft.Owin.Security.Jwt.3.0.1\lib\net45\Microsoft.Owin.Security.Jwt.dll 77 | True 78 | 79 | 80 | ..\packages\Microsoft.Owin.Security.OAuth.3.0.1\lib\net45\Microsoft.Owin.Security.OAuth.dll 81 | True 82 | 83 | 84 | ..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll 85 | True 86 | 87 | 88 | ..\packages\Owin.1.0\lib\net40\Owin.dll 89 | True 90 | 91 | 92 | 93 | ..\packages\System.IdentityModel.Tokens.Jwt.4.0.2.206221351\lib\net45\System.IdentityModel.Tokens.Jwt.dll 94 | True 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | ..\packages\Microsoft.AspNet.WebApi.Owin.5.2.3\lib\net45\System.Web.Http.Owin.dll 109 | True 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | ..\packages\Microsoft.AspNet.WebApi.Client.5.2.3\lib\net45\System.Net.Http.Formatting.dll 122 | 123 | 124 | ..\packages\Microsoft.AspNet.WebApi.Core.5.2.3\lib\net45\System.Web.Http.dll 125 | 126 | 127 | ..\packages\Microsoft.AspNet.WebApi.WebHost.5.2.3\lib\net45\System.Web.Http.WebHost.dll 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | Web.config 144 | 145 | 146 | Web.config 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 10.0 155 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | True 165 | True 166 | 10049 167 | / 168 | https://localhost:44300/ 169 | False 170 | False 171 | 172 | 173 | False 174 | 175 | 176 | 177 | 178 | 179 | 180 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 181 | 182 | 183 | 184 | 185 | 192 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.API/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Assets/AboutAssets.txt: -------------------------------------------------------------------------------- 1 | Any raw assets you want to be deployed with your application can be placed in 2 | this directory (and child directories) and given a Build Action of "AndroidAsset". 3 | 4 | These files will be deployed with you package and will be accessible using Android's 5 | AssetManager, like this: 6 | 7 | public class ReadAsset : Activity 8 | { 9 | protected override void OnCreate (Bundle bundle) 10 | { 11 | base.OnCreate (bundle); 12 | 13 | InputStream input = Assets.Open ("my_asset.txt"); 14 | } 15 | } 16 | 17 | Additionally, some Android functions will automatically load asset files: 18 | 19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf"); 20 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/MainActivity.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | 3 | using Android.App; 4 | using Android.Content.PM; 5 | using Android.Runtime; 6 | using Android.Views; 7 | using Android.Widget; 8 | using Android.OS; 9 | 10 | namespace XamarinFormsOIDCSample.Client.Droid 11 | { 12 | [Activity(Label = "XamarinFormsOIDCSample.Client", Icon = "@drawable/icon", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)] 13 | public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsApplicationActivity 14 | { 15 | protected override void OnCreate(Bundle bundle) 16 | { 17 | base.OnCreate(bundle); 18 | 19 | global::Xamarin.Forms.Forms.Init(this, bundle); 20 | LoadApplication(new App()); 21 | } 22 | } 23 | } 24 | 25 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Properties/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using Android.App; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("XamarinFormsOIDCSample.Client.Droid")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("XamarinFormsOIDCSample.Client.Droid")] 14 | [assembly: AssemblyCopyright("Copyright © 2014")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: ComVisible(false)] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | 32 | // Add some common permissions, these can be removed if not needed 33 | [assembly: UsesPermission(Android.Manifest.Permission.Internet)] 34 | [assembly: UsesPermission(Android.Manifest.Permission.WriteExternalStorage)] 35 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Resources/AboutResources.txt: -------------------------------------------------------------------------------- 1 | Images, layout descriptions, binary blobs and string dictionaries can be included 2 | in your application as resource files. Various Android APIs are designed to 3 | operate on the resource IDs instead of dealing with images, strings or binary blobs 4 | directly. 5 | 6 | For example, a sample Android app that contains a user interface layout (main.xml), 7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png) 8 | would keep its resources in the "Resources" directory of the application: 9 | 10 | Resources/ 11 | drawable-hdpi/ 12 | icon.png 13 | 14 | drawable-ldpi/ 15 | icon.png 16 | 17 | drawable-mdpi/ 18 | icon.png 19 | 20 | layout/ 21 | main.xml 22 | 23 | values/ 24 | strings.xml 25 | 26 | In order to get the build system to recognize Android resources, set the build action to 27 | "AndroidResource". The native Android APIs do not operate directly with filenames, but 28 | instead operate on resource IDs. When you compile an Android application that uses resources, 29 | the build system will package the resources for distribution and generate a class called 30 | "Resource" that contains the tokens for each one of the resources included. For example, 31 | for the above Resources layout, this is what the Resource class would expose: 32 | 33 | public class Resource { 34 | public class drawable { 35 | public const int icon = 0x123; 36 | } 37 | 38 | public class layout { 39 | public const int main = 0x456; 40 | } 41 | 42 | public class strings { 43 | public const int first_string = 0xabc; 44 | public const int second_string = 0xbcd; 45 | } 46 | } 47 | 48 | You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main 49 | to reference the layout/main.xml file, or Resource.strings.first_string to reference the first 50 | string in the dictionary file values/strings.xml. 51 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Resources/drawable-hdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Resources/drawable-hdpi/icon.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Resources/drawable-xhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Resources/drawable-xhdpi/icon.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Resources/drawable-xxhdpi/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Resources/drawable-xxhdpi/icon.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Resources/drawable/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/Resources/drawable/icon.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/XamarinFormsOIDCSample.Client.Droid.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 8.0.30703 7 | 2.0 8 | {93BF7932-6C92-4A79-AED0-439CD1E73FD9} 9 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10 | Library 11 | Properties 12 | XamarinFormsOIDCSample.Client.Droid 13 | XamarinFormsOIDCSample.Client.Droid 14 | 512 15 | true 16 | Resources\Resource.Designer.cs 17 | Off 18 | Properties\AndroidManifest.xml 19 | true 20 | v6.0 21 | armeabi,armeabi-v7a,x86 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | true 31 | full 32 | false 33 | bin\Debug\ 34 | DEBUG;TRACE 35 | prompt 36 | 4 37 | True 38 | None 39 | 40 | 41 | pdbonly 42 | true 43 | bin\Release\ 44 | TRACE 45 | prompt 46 | 4 47 | False 48 | SdkOnly 49 | 50 | 51 | 52 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\MonoAndroid10\FormsViewGroup.dll 53 | True 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | ..\..\packages\Xamarin.Android.Support.Design.23.0.1.3\lib\MonoAndroid403\Xamarin.Android.Support.Design.dll 63 | True 64 | 65 | 66 | ..\..\packages\Xamarin.Android.Support.v4.23.0.1.3\lib\MonoAndroid403\Xamarin.Android.Support.v4.dll 67 | True 68 | 69 | 70 | ..\..\packages\Xamarin.Android.Support.v7.AppCompat.23.0.1.3\lib\MonoAndroid403\Xamarin.Android.Support.v7.AppCompat.dll 71 | True 72 | 73 | 74 | ..\..\packages\Xamarin.Android.Support.v7.CardView.23.0.1.3\lib\MonoAndroid403\Xamarin.Android.Support.v7.CardView.dll 75 | True 76 | 77 | 78 | ..\..\packages\Xamarin.Android.Support.v7.MediaRouter.23.0.1.3\lib\MonoAndroid403\Xamarin.Android.Support.v7.MediaRouter.dll 79 | True 80 | 81 | 82 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\MonoAndroid10\Xamarin.Forms.Core.dll 83 | True 84 | 85 | 86 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\MonoAndroid10\Xamarin.Forms.Platform.dll 87 | True 88 | 89 | 90 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll 91 | True 92 | 93 | 94 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\MonoAndroid10\Xamarin.Forms.Xaml.dll 95 | True 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | XamarinFormsOIDCSample.Client 121 | 122 | 123 | 124 | 125 | 126 | 127 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 128 | 129 | 130 | 131 | 138 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.Droid/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/App.xaml: -------------------------------------------------------------------------------- 1 |  7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/App.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Diagnostics; 3 | using System.Resources; 4 | using System.Windows; 5 | using System.Windows.Markup; 6 | using System.Windows.Navigation; 7 | using Microsoft.Phone.Controls; 8 | using Microsoft.Phone.Shell; 9 | using XamarinFormsOIDCSample.Client.WinPhone.Resources; 10 | 11 | namespace XamarinFormsOIDCSample.Client.WinPhone 12 | { 13 | public partial class App : Application 14 | { 15 | /// 16 | /// Provides easy access to the root frame of the Phone Application. 17 | /// 18 | /// The root frame of the Phone Application. 19 | public static PhoneApplicationFrame RootFrame { get; private set; } 20 | 21 | /// 22 | /// Constructor for the Application object. 23 | /// 24 | public App() 25 | { 26 | // Global handler for uncaught exceptions. 27 | UnhandledException += Application_UnhandledException; 28 | 29 | // Standard XAML initialization 30 | InitializeComponent(); 31 | 32 | // Phone-specific initialization 33 | InitializePhoneApplication(); 34 | 35 | // Language display initialization 36 | InitializeLanguage(); 37 | 38 | // Show graphics profiling information while debugging. 39 | if (Debugger.IsAttached) 40 | { 41 | // Display the current frame rate counters. 42 | Application.Current.Host.Settings.EnableFrameRateCounter = true; 43 | 44 | // Show the areas of the app that are being redrawn in each frame. 45 | //Application.Current.Host.Settings.EnableRedrawRegions = true; 46 | 47 | // Enable non-production analysis visualization mode, 48 | // which shows areas of a page that are handed off to GPU with a colored overlay. 49 | //Application.Current.Host.Settings.EnableCacheVisualization = true; 50 | 51 | // Prevent the screen from turning off while under the debugger by disabling 52 | // the application's idle detection. 53 | // Caution:- Use this under debug mode only. Application that disables user idle detection will continue to run 54 | // and consume battery power when the user is not using the phone. 55 | PhoneApplicationService.Current.UserIdleDetectionMode = IdleDetectionMode.Disabled; 56 | } 57 | 58 | } 59 | 60 | // Code to execute when the application is launching (eg, from Start) 61 | // This code will not execute when the application is reactivated 62 | private void Application_Launching(object sender, LaunchingEventArgs e) 63 | { 64 | } 65 | 66 | // Code to execute when the application is activated (brought to foreground) 67 | // This code will not execute when the application is first launched 68 | private void Application_Activated(object sender, ActivatedEventArgs e) 69 | { 70 | } 71 | 72 | // Code to execute when the application is deactivated (sent to background) 73 | // This code will not execute when the application is closing 74 | private void Application_Deactivated(object sender, DeactivatedEventArgs e) 75 | { 76 | } 77 | 78 | // Code to execute when the application is closing (eg, user hit Back) 79 | // This code will not execute when the application is deactivated 80 | private void Application_Closing(object sender, ClosingEventArgs e) 81 | { 82 | } 83 | 84 | // Code to execute if a navigation fails 85 | private void RootFrame_NavigationFailed(object sender, NavigationFailedEventArgs e) 86 | { 87 | if (Debugger.IsAttached) 88 | { 89 | // A navigation has failed; break into the debugger 90 | Debugger.Break(); 91 | } 92 | } 93 | 94 | // Code to execute on Unhandled Exceptions 95 | private void Application_UnhandledException(object sender, ApplicationUnhandledExceptionEventArgs e) 96 | { 97 | if (Debugger.IsAttached) 98 | { 99 | // An unhandled exception has occurred; break into the debugger 100 | Debugger.Break(); 101 | } 102 | } 103 | 104 | #region Phone application initialization 105 | 106 | // Avoid double-initialization 107 | private bool phoneApplicationInitialized = false; 108 | 109 | // Do not add any additional code to this method 110 | private void InitializePhoneApplication() 111 | { 112 | if (phoneApplicationInitialized) 113 | return; 114 | 115 | // Create the frame but don't set it as RootVisual yet; this allows the splash 116 | // screen to remain active until the application is ready to render. 117 | RootFrame = new PhoneApplicationFrame(); 118 | RootFrame.Navigated += CompleteInitializePhoneApplication; 119 | 120 | // Handle navigation failures 121 | RootFrame.NavigationFailed += RootFrame_NavigationFailed; 122 | 123 | // Handle reset requests for clearing the backstack 124 | RootFrame.Navigated += CheckForResetNavigation; 125 | 126 | // Ensure we don't initialize again 127 | phoneApplicationInitialized = true; 128 | } 129 | 130 | // Do not add any additional code to this method 131 | private void CompleteInitializePhoneApplication(object sender, NavigationEventArgs e) 132 | { 133 | // Set the root visual to allow the application to render 134 | if (RootVisual != RootFrame) 135 | RootVisual = RootFrame; 136 | 137 | // Remove this handler since it is no longer needed 138 | RootFrame.Navigated -= CompleteInitializePhoneApplication; 139 | } 140 | 141 | private void CheckForResetNavigation(object sender, NavigationEventArgs e) 142 | { 143 | // If the app has received a 'reset' navigation, then we need to check 144 | // on the next navigation to see if the page stack should be reset 145 | if (e.NavigationMode == NavigationMode.Reset) 146 | RootFrame.Navigated += ClearBackStackAfterReset; 147 | } 148 | 149 | private void ClearBackStackAfterReset(object sender, NavigationEventArgs e) 150 | { 151 | // Unregister the event so it doesn't get called again 152 | RootFrame.Navigated -= ClearBackStackAfterReset; 153 | 154 | // Only clear the stack for 'new' (forward) and 'refresh' navigations 155 | if (e.NavigationMode != NavigationMode.New && e.NavigationMode != NavigationMode.Refresh) 156 | return; 157 | 158 | // For UI consistency, clear the entire page stack 159 | while (RootFrame.RemoveBackEntry() != null) 160 | { 161 | ; // do nothing 162 | } 163 | } 164 | 165 | #endregion 166 | 167 | // Initialize the app's font and flow direction as defined in its localized resource strings. 168 | // 169 | // To ensure that the font of your application is aligned with its supported languages and that the 170 | // FlowDirection for each of those languages follows its traditional direction, ResourceLanguage 171 | // and ResourceFlowDirection should be initialized in each resx file to match these values with that 172 | // file's culture. For example: 173 | // 174 | // AppResources.es-ES.resx 175 | // ResourceLanguage's value should be "es-ES" 176 | // ResourceFlowDirection's value should be "LeftToRight" 177 | // 178 | // AppResources.ar-SA.resx 179 | // ResourceLanguage's value should be "ar-SA" 180 | // ResourceFlowDirection's value should be "RightToLeft" 181 | // 182 | // For more info on localizing Windows Phone apps see http://go.microsoft.com/fwlink/?LinkId=262072. 183 | // 184 | private void InitializeLanguage() 185 | { 186 | try 187 | { 188 | // Set the font to match the display language defined by the 189 | // ResourceLanguage resource string for each supported language. 190 | // 191 | // Fall back to the font of the neutral language if the Display 192 | // language of the phone is not supported. 193 | // 194 | // If a compiler error is hit then ResourceLanguage is missing from 195 | // the resource file. 196 | RootFrame.Language = XmlLanguage.GetLanguage(AppResources.ResourceLanguage); 197 | 198 | // Set the FlowDirection of all elements under the root frame based 199 | // on the ResourceFlowDirection resource string for each 200 | // supported language. 201 | // 202 | // If a compiler error is hit then ResourceFlowDirection is missing from 203 | // the resource file. 204 | FlowDirection flow = (FlowDirection)Enum.Parse(typeof(FlowDirection), AppResources.ResourceFlowDirection); 205 | RootFrame.FlowDirection = flow; 206 | } 207 | catch 208 | { 209 | // If an exception is caught here it is most likely due to either 210 | // ResourceLangauge not being correctly set to a supported language 211 | // code or ResourceFlowDirection is set to a value other than LeftToRight 212 | // or RightToLeft. 213 | 214 | if (Debugger.IsAttached) 215 | { 216 | Debugger.Break(); 217 | } 218 | 219 | throw; 220 | } 221 | } 222 | } 223 | } 224 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/AlignmentGrid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/AlignmentGrid.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/ApplicationIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/ApplicationIcon.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/Tiles/FlipCycleTileLarge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/Tiles/FlipCycleTileLarge.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/Tiles/FlipCycleTileMedium.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/Tiles/FlipCycleTileMedium.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/Tiles/FlipCycleTileSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/Tiles/FlipCycleTileSmall.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/Tiles/IconicTileMediumLarge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/Tiles/IconicTileMediumLarge.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/Tiles/IconicTileSmall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Assets/Tiles/IconicTileSmall.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/LocalizedStrings.cs: -------------------------------------------------------------------------------- 1 | using XamarinFormsOIDCSample.Client.WinPhone.Resources; 2 | 3 | namespace XamarinFormsOIDCSample.Client.WinPhone 4 | { 5 | /// 6 | /// Provides access to string resources. 7 | /// 8 | public class LocalizedStrings 9 | { 10 | private static AppResources _localizedResources = new AppResources(); 11 | 12 | public AppResources LocalizedResources { get { return _localizedResources; } } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/MainPage.xaml: -------------------------------------------------------------------------------- 1 |  16 | 17 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/MainPage.xaml.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net; 5 | using System.Windows; 6 | using System.Windows.Controls; 7 | using System.Windows.Navigation; 8 | using Microsoft.Phone.Controls; 9 | using Microsoft.Phone.Shell; 10 | 11 | namespace XamarinFormsOIDCSample.Client.WinPhone 12 | { 13 | public partial class MainPage : global::Xamarin.Forms.Platform.WinPhone.FormsApplicationPage 14 | { 15 | public MainPage() 16 | { 17 | InitializeComponent(); 18 | SupportedOrientations = SupportedPageOrientation.PortraitOrLandscape; 19 | 20 | global::Xamarin.Forms.Forms.Init(); 21 | LoadApplication(new XamarinFormsOIDCSample.Client.App()); 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Properties/AppManifest.xml: -------------------------------------------------------------------------------- 1 |  4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | using System.Resources; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("XamarinFormsOIDCSample.Client.WinPhone")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("XamarinFormsOIDCSample.Client.WinPhone")] 14 | [assembly: AssemblyCopyright("Copyright © 2014")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | 18 | // Setting ComVisible to false makes the types in this assembly not visible 19 | // to COM components. If you need to access a type in this assembly from 20 | // COM, set the ComVisible attribute to true on that type. 21 | [assembly: ComVisible(false)] 22 | 23 | // The following GUID is for the ID of the typelib if this project is exposed to COM 24 | [assembly: Guid("65077432-0c92-466b-b68d-911a8ec84f1d")] 25 | 26 | // Version information for an assembly consists of the following four values: 27 | // 28 | // Major Version 29 | // Minor Version 30 | // Build Number 31 | // Revision 32 | // 33 | // You can specify all the values or you can default the Revision and Build Numbers 34 | // by using the '*' as shown below: 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | [assembly: NeutralResourcesLanguageAttribute("en-US")] 38 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Properties/WMAppManifest.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | Assets\ApplicationIcon.png 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | Assets\Tiles\FlipCycleTileSmall.png 21 | 0 22 | Assets\Tiles\FlipCycleTileMedium.png 23 | XamarinFormsOIDCSample.Client.WinPhone 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/README_FIRST.txt: -------------------------------------------------------------------------------- 1 | For the Windows Phone toolkit make sure that you have 2 | marked the icons in the "Toolkit.Content" folder as content. That way they 3 | can be used as the icons for the ApplicationBar control. -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Resources/AppResources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.17626 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace XamarinFormsOIDCSample.Client.WinPhone.Resources 12 | { 13 | using System; 14 | 15 | 16 | /// 17 | /// A strongly-typed resource class, for looking up localized strings, etc. 18 | /// 19 | // This class was auto-generated by the StronglyTypedResourceBuilder 20 | // class via a tool like ResGen or Visual Studio. 21 | // To add or remove a member, edit your .ResX file then rerun ResGen 22 | // with the /str option, or rebuild your VS project. 23 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 24 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 25 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 26 | public class AppResources 27 | { 28 | 29 | private static global::System.Resources.ResourceManager resourceMan; 30 | 31 | private static global::System.Globalization.CultureInfo resourceCulture; 32 | 33 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 34 | internal AppResources() 35 | { 36 | } 37 | 38 | /// 39 | /// Returns the cached ResourceManager instance used by this class. 40 | /// 41 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 42 | public static global::System.Resources.ResourceManager ResourceManager 43 | { 44 | get 45 | { 46 | if (object.ReferenceEquals(resourceMan, null)) 47 | { 48 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("XamarinFormsOIDCSample.Client.WinPhone.Resources.AppResources", typeof(AppResources).Assembly); 49 | resourceMan = temp; 50 | } 51 | return resourceMan; 52 | } 53 | } 54 | 55 | /// 56 | /// Overrides the current thread's CurrentUICulture property for all 57 | /// resource lookups using this strongly typed resource class. 58 | /// 59 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 60 | public static global::System.Globalization.CultureInfo Culture 61 | { 62 | get 63 | { 64 | return resourceCulture; 65 | } 66 | set 67 | { 68 | resourceCulture = value; 69 | } 70 | } 71 | 72 | /// 73 | /// Looks up a localized string similar to LeftToRight. 74 | /// 75 | public static string ResourceFlowDirection 76 | { 77 | get 78 | { 79 | return ResourceManager.GetString("ResourceFlowDirection", resourceCulture); 80 | } 81 | } 82 | 83 | /// 84 | /// Looks up a localized string similar to us-EN. 85 | /// 86 | public static string ResourceLanguage 87 | { 88 | get 89 | { 90 | return ResourceManager.GetString("ResourceLanguage", resourceCulture); 91 | } 92 | } 93 | 94 | /// 95 | /// Looks up a localized string similar to MY APPLICATION. 96 | /// 97 | public static string ApplicationTitle 98 | { 99 | get 100 | { 101 | return ResourceManager.GetString("ApplicationTitle", resourceCulture); 102 | } 103 | } 104 | 105 | /// 106 | /// Looks up a localized string similar to button. 107 | /// 108 | public static string AppBarButtonText 109 | { 110 | get 111 | { 112 | return ResourceManager.GetString("AppBarButtonText", resourceCulture); 113 | } 114 | } 115 | 116 | /// 117 | /// Looks up a localized string similar to menu item. 118 | /// 119 | public static string AppBarMenuItemText 120 | { 121 | get 122 | { 123 | return ResourceManager.GetString("AppBarMenuItemText", resourceCulture); 124 | } 125 | } 126 | } 127 | } 128 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Resources/AppResources.resx: -------------------------------------------------------------------------------- 1 |  2 | 3 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | text/microsoft-resx 110 | 111 | 112 | 2.0 113 | 114 | 115 | System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 116 | 117 | 118 | System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 119 | 120 | 121 | LeftToRight 122 | Controls the FlowDirection for all elements in the RootFrame. Set to the traditional direction of this resource file's language 123 | 124 | 125 | en-US 126 | Controls the Language and ensures that the font for all elements in the RootFrame aligns with the app's language. Set to the language code of this resource file's language. 127 | 128 | 129 | MY APPLICATION 130 | 131 | 132 | add 133 | 134 | 135 | Menu Item 136 | 137 | 138 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/SplashScreenImage.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/SplashScreenImage.jpg -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Toolkit.Content/ApplicationBar.Add.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Toolkit.Content/ApplicationBar.Add.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Toolkit.Content/ApplicationBar.Cancel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Toolkit.Content/ApplicationBar.Cancel.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Toolkit.Content/ApplicationBar.Check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Toolkit.Content/ApplicationBar.Check.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Toolkit.Content/ApplicationBar.Delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Toolkit.Content/ApplicationBar.Delete.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Toolkit.Content/ApplicationBar.Select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/Toolkit.Content/ApplicationBar.Select.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/XamarinFormsOIDCSample.Client.WinPhone.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 10.0.20506 7 | 2.0 8 | {BEE76A7B-A2CE-4954-A2EC-8D9B428DC932} 9 | {C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} 10 | Library 11 | Properties 12 | XamarinFormsOIDCSample.Client.WinPhone 13 | XamarinFormsOIDCSample.Client.WinPhone 14 | WindowsPhone 15 | v8.0 16 | $(TargetFrameworkVersion) 17 | true 18 | 19 | 20 | true 21 | true 22 | PhoneApp1_$(Configuration)_$(Platform).xap 23 | Properties\AppManifest.xml 24 | XamarinFormsOIDCSample.Client.WinPhone.App 25 | true 26 | 11.0 27 | true 28 | 29 | 30 | 31 | 32 | true 33 | full 34 | false 35 | Bin\Debug 36 | DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE 37 | true 38 | true 39 | prompt 40 | 4 41 | 42 | 43 | pdbonly 44 | true 45 | Bin\Release 46 | TRACE;SILVERLIGHT;WINDOWS_PHONE 47 | true 48 | true 49 | prompt 50 | 4 51 | 52 | 53 | true 54 | full 55 | false 56 | Bin\x86\Debug 57 | DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE 58 | true 59 | true 60 | prompt 61 | 4 62 | 63 | 64 | pdbonly 65 | true 66 | Bin\x86\Release 67 | TRACE;SILVERLIGHT;WINDOWS_PHONE 68 | true 69 | true 70 | prompt 71 | 4 72 | 73 | 74 | true 75 | full 76 | false 77 | Bin\ARM\Debug 78 | DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE 79 | true 80 | true 81 | prompt 82 | 4 83 | 84 | 85 | pdbonly 86 | true 87 | Bin\ARM\Release 88 | TRACE;SILVERLIGHT;WINDOWS_PHONE 89 | true 90 | true 91 | prompt 92 | 4 93 | 94 | 95 | 96 | App.xaml 97 | 98 | 99 | 100 | MainPage.xaml 101 | 102 | 103 | 104 | True 105 | True 106 | AppResources.resx 107 | 108 | 109 | 110 | 111 | Designer 112 | MSBuild:Compile 113 | 114 | 115 | Designer 116 | MSBuild:Compile 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | Designer 125 | 126 | 127 | 128 | 129 | 130 | PreserveNewest 131 | 132 | 133 | 134 | PreserveNewest 135 | 136 | 137 | PreserveNewest 138 | 139 | 140 | PreserveNewest 141 | 142 | 143 | PreserveNewest 144 | 145 | 146 | PreserveNewest 147 | 148 | 149 | PreserveNewest 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | PublicResXFileCodeGenerator 160 | AppResources.Designer.cs 161 | 162 | 163 | 164 | 165 | XamarinFormsOIDCSample.Client 166 | 167 | 168 | 169 | 170 | ..\..\packages\WPtoolkit.4.2013.08.16\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll 171 | True 172 | 173 | 174 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\WP80\Xamarin.Forms.Core.dll 175 | True 176 | 177 | 178 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\WP80\Xamarin.Forms.Platform.dll 179 | True 180 | 181 | 182 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\WP80\Xamarin.Forms.Platform.WP8.dll 183 | True 184 | 185 | 186 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\WP80\Xamarin.Forms.Xaml.dll 187 | True 188 | 189 | 190 | 191 | 192 | 199 | 200 | 201 | 202 | 203 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 204 | 205 | 206 | 207 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.WinPhone/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/AppDelegate.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace XamarinFormsOIDCSample.Client.iOS 9 | { 10 | // The UIApplicationDelegate for the application. This class is responsible for launching the 11 | // User Interface of the application, as well as listening (and optionally responding) to 12 | // application events from iOS. 13 | [Register("AppDelegate")] 14 | public partial class AppDelegate : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate 15 | { 16 | // 17 | // This method is invoked when the application has loaded and is ready to run. In this 18 | // method you should instantiate the window, load the UI into it and then make the window 19 | // visible. 20 | // 21 | // You have 17 seconds to return from this method, or iOS will terminate your application. 22 | // 23 | public override bool FinishedLaunching(UIApplication app, NSDictionary options) 24 | { 25 | global::Xamarin.Forms.Forms.Init(); 26 | LoadApplication(new App()); 27 | 28 | return base.FinishedLaunching(app, options); 29 | } 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Entitlements.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Info.plist: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | UIDeviceFamily 6 | 7 | 1 8 | 2 9 | 10 | UISupportedInterfaceOrientations 11 | 12 | UIInterfaceOrientationPortrait 13 | UIInterfaceOrientationLandscapeLeft 14 | UIInterfaceOrientationLandscapeRight 15 | 16 | UISupportedInterfaceOrientations~ipad 17 | 18 | UIInterfaceOrientationPortrait 19 | UIInterfaceOrientationPortraitUpsideDown 20 | UIInterfaceOrientationLandscapeLeft 21 | UIInterfaceOrientationLandscapeRight 22 | 23 | MinimumOSVersion 24 | 6.0 25 | CFBundleDisplayName 26 | XamarinFormsOIDCSample.Client 27 | CFBundleIdentifier 28 | com.yourcompany.XamarinFormsOIDCSample.Client 29 | CFBundleVersion 30 | 1.0 31 | CFBundleIconFiles 32 | 33 | Icon-60@2x 34 | Icon-60@3x 35 | Icon-76 36 | Icon-76@2x 37 | Default 38 | Default@2x 39 | Default-568h@2x 40 | Default-Portrait 41 | Default-Portrait@2x 42 | Icon-Small-40 43 | Icon-Small-40@2x 44 | Icon-Small-40@3x 45 | Icon-Small 46 | Icon-Small@2x 47 | Icon-Small@3x 48 | 49 | UILaunchStoryboardName 50 | LaunchScreen 51 | 52 | 53 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Main.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | using Foundation; 6 | using UIKit; 7 | 8 | namespace XamarinFormsOIDCSample.Client.iOS 9 | { 10 | public class Application 11 | { 12 | // This is the main entry point of the application. 13 | static void Main(string[] args) 14 | { 15 | // if you want to use a different Application Delegate class from "AppDelegate" 16 | // you can specify it here. 17 | UIApplication.Main(args, null, "AppDelegate"); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("XamarinFormsOIDCSample.Client.iOS")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("XamarinFormsOIDCSample.Client.iOS")] 13 | [assembly: AssemblyCopyright("Copyright © 2014")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("72bdc44f-c588-44f3-b6df-9aace7daafdd")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Default-568h@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Default-568h@2x.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Default-Portrait.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Default-Portrait.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Default-Portrait@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Default-Portrait@2x.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Default.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Default@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Default@2x.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-60@2x.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-60@3x.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-76.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-76@2x.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small-40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small-40.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small-40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small-40@2x.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small-40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small-40@3x.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small@2x.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/Icon-Small@3x.png -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/Resources/LaunchScreen.storyboard: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/XamarinFormsOIDCSample.Client.iOS.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | iPhoneSimulator 6 | 8.0.30703 7 | 2.0 8 | {82423A41-1A4B-4D95-A77A-6C236752170E} 9 | {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 10 | Exe 11 | XamarinFormsOIDCSample.Client.iOS 12 | Resources 13 | XamarinFormsOIDCSampleClientiOS 14 | 15 | 16 | 17 | 18 | true 19 | full 20 | false 21 | bin\iPhoneSimulator\Debug 22 | DEBUG 23 | prompt 24 | 4 25 | false 26 | i386, x86_64 27 | None 28 | true 29 | 30 | 31 | none 32 | true 33 | bin\iPhoneSimulator\Release 34 | prompt 35 | 4 36 | None 37 | i386, x86_64 38 | false 39 | 40 | 41 | true 42 | full 43 | false 44 | bin\iPhone\Debug 45 | DEBUG 46 | prompt 47 | 4 48 | false 49 | ARMv7, ARM64 50 | iPhone Developer 51 | true 52 | Entitlements.plist 53 | 54 | 55 | none 56 | true 57 | bin\iPhone\Release 58 | prompt 59 | 4 60 | ARMv7, ARM64 61 | false 62 | iPhone Developer 63 | Entitlements.plist 64 | 65 | 66 | none 67 | True 68 | bin\iPhone\Ad-Hoc 69 | prompt 70 | 4 71 | False 72 | ARMv7, ARM64 73 | True 74 | Automatic:AdHoc 75 | iPhone Distribution 76 | Entitlements.plist 77 | 78 | 79 | none 80 | True 81 | bin\iPhone\AppStore 82 | prompt 83 | 4 84 | False 85 | ARMv7, ARM64 86 | Automatic:AppStore 87 | iPhone Distribution 88 | Entitlements.plist 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 103 | XamarinFormsOIDCSample.Client 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\Xamarin.iOS10\Xamarin.Forms.Core.dll 130 | True 131 | 132 | 133 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\Xamarin.iOS10\Xamarin.Forms.Platform.dll 134 | True 135 | 136 | 137 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\Xamarin.iOS10\Xamarin.Forms.Platform.iOS.dll 138 | True 139 | 140 | 141 | ..\..\packages\Xamarin.Forms.2.0.1.6495\lib\Xamarin.iOS10\Xamarin.Forms.Xaml.dll 142 | True 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. 151 | 152 | 153 | 154 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/app.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/iTunesArtwork: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/iTunesArtwork -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/iTunesArtwork@2x: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/KevinDockx/XamarinFormsOIDCSample/e88c074a6ba2b84014c8b5ce8d04d0b82d7c87ab/XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/iTunesArtwork@2x -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client.iOS/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client/App.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | 6 | using Xamarin.Forms; 7 | using XamarinFormsOIDCSample.Client.Views; 8 | 9 | namespace XamarinFormsOIDCSample.Client 10 | { 11 | public class App : Application 12 | { 13 | public App() 14 | { 15 | // The root page of your application 16 | MainPage = new LoginView(); 17 | } 18 | 19 | protected override void OnStart() 20 | { 21 | // Handle when your app starts 22 | } 23 | 24 | protected override void OnSleep() 25 | { 26 | // Handle when your app sleeps 27 | } 28 | 29 | protected override void OnResume() 30 | { 31 | // Handle when your app resumes 32 | } 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client/GettingStarted.Xamarin: -------------------------------------------------------------------------------- 1 | 2 | GS\XF\CS\App\GettingStarted.html 3 | false 4 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Resources; 2 | using System.Reflection; 3 | using System.Runtime.CompilerServices; 4 | using System.Runtime.InteropServices; 5 | 6 | // General Information about an assembly is controlled through the following 7 | // set of attributes. Change these attribute values to modify the information 8 | // associated with an assembly. 9 | [assembly: AssemblyTitle("XamarinFormsOIDCSample.Client")] 10 | [assembly: AssemblyDescription("")] 11 | [assembly: AssemblyConfiguration("")] 12 | [assembly: AssemblyCompany("")] 13 | [assembly: AssemblyProduct("XamarinFormsOIDCSample.Client")] 14 | [assembly: AssemblyCopyright("Copyright © 2014")] 15 | [assembly: AssemblyTrademark("")] 16 | [assembly: AssemblyCulture("")] 17 | [assembly: NeutralResourcesLanguage("en")] 18 | 19 | // Version information for an assembly consists of the following four values: 20 | // 21 | // Major Version 22 | // Minor Version 23 | // Build Number 24 | // Revision 25 | // 26 | // You can specify all the values or you can default the Build and Revision Numbers 27 | // by using the '*' as shown below: 28 | // [assembly: AssemblyVersion("1.0.*")] 29 | [assembly: AssemblyVersion("1.0.0.0")] 30 | [assembly: AssemblyFileVersion("1.0.0.0")] 31 | -------------------------------------------------------------------------------- /XamarinFormsOIDCSample.Client/XamarinFormsOIDCSample.Client/Views/LoginView.xaml: -------------------------------------------------------------------------------- 1 |  2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |