public static OperatorUrls setOperatorUrlsR2() { var operatorUrls = new OperatorUrls() { ProviderMetadataUrl = "https://operator-g.integration.sandbox.mobileconnect.io/.well-known/openid-configuration" }; return(operatorUrls); }
/// <summary> /// Allows an application to create discovery object manually without call to discovery service /// </summary> /// <param name="clientId">Client id</param> /// <param name="clientSecret">Client secret</param> /// <param name="subscriberId">Subscriber id</param> /// <param name="appName">Application name</param> /// <param name="operatorsUrls">Operators url</param> /// <returns>Manually generated discovery response</returns> public async Task <DiscoveryResponse> GenerateDiscoveryManually( string clientId, string clientSecret, string appName, OperatorUrls operatorsUrls) { return(await _authentication.MakeDiscoveryForAuthorization( clientId, clientSecret, appName, operatorsUrls)); }
public static OperatorUrls setOperatorUrlsR1() { var operatorUrls = new OperatorUrls() { AuthorizationUrl = "https://operator-a.integration.sandbox.mobileconnect.io/oidc/authorize", UserInfoUrl = "https://operator-a.integration.sandbox.mobileconnect.io/oidc/userinfo", RequestTokenUrl = "https://operator-a.integration.sandbox.mobileconnect.io/oidc/accesstoken", RevokeTokenUrl = "https://operator-a.integration.sandbox.mobileconnect.io/oidc/revoke" }; return(operatorUrls); }
public async Task <IHttpActionResult> StartManualDiscoveryWithoutMetadata(string subId = "", string clientId = "", string clientSecret = "") { var operatorUrlsWd = new OperatorUrls { AuthorizationUrl = _operatorUrLs.AuthorizationUrl, RequestTokenUrl = _operatorUrLs.RequestTokenUrl, UserInfoUrl = _operatorUrLs.UserInfoUrl }; var discoveryResponse = await _mobileConnect.GenerateDiscoveryManually(clientId, clientSecret, subId, "demoapp", operatorUrlsWd); var discoverystatus = await _mobileConnect.GenerateStatusFromDiscoveryResponse(discoveryResponse); return(CreateResponse(discoverystatus)); }
public void Endpoints(string authURL = "", string tokenURL = "", string userInfoURl = "", string metadata = "", string discoveryURL = "", string redirectURL = "") { _operatorUrLs = new OperatorUrls() { AuthorizationUrl = authURL, UserInfoUrl = userInfoURl, RequestTokenUrl = tokenURL, ProviderMetadataUrl = metadata, }; _cache = new ConcurrentCache(); _restClient = new RestClient(); MobileConnectConfig mobileConnectConfig = new MobileConnectConfig() { DiscoveryUrl = discoveryURL, RedirectUrl = redirectURL }; _mobileConnect = new MobileConnectWebInterface(mobileConnectConfig, _cache, _restClient); }
public async Task <IHttpActionResult> StartManualDiscoveryWithoutMetadata(string subId = "", string clientId = "", /*string clientName = "", */ string clientSecret = "") { var mobileConnectRequestOptions = new MobileConnectRequestOptions() { Scope = "", Context = "demo", BindingMessage = "demo auth", }; var operatorUrlsWd = new OperatorUrls { AuthorizationUrl = operatorURLs.AuthorizationUrl, RequestTokenUrl = operatorURLs.RequestTokenUrl, UserInfoUrl = operatorURLs.UserInfoUrl }; MobileConnectWebInterface mobileConnectWebInterface = new MobileConnectWebInterface(mobileConnectConfig, new ConcurrentCache()); var discoveryResponse = await mobileConnectWebInterface.GenerateDiscoveryManually(clientId, clientSecret, subId, "appName" /*clientName*/, operatorUrlsWd); var status = mobileConnectWebInterface.StartAuthentication(Request, discoveryResponse, subId, null, null, mobileConnectRequestOptions); return(CreateResponse(status)); }
/// <summary> /// Make fake discovery for authorization /// </summary> /// <param name="clientId">Client id</param> /// <param name="clientSecret">Client secret</param> /// <param name="subscriberId">Subscriber ID</param> /// <param name="appName">Client application name</param> /// <param name="operatorsUrl">Operators urls</param> /// <returns>Generated fake discovery response</returns> public async Task <DiscoveryResponse> MakeDiscoveryForAuthorization(string clientId, string clientSecret, string subscriberId, string appName, OperatorUrls operatorsUrl) { Validate.RejectNullOrEmpty(clientId, "clientId"); Validate.RejectNullOrEmpty(clientSecret, "clientSecret"); Validate.RejectNull(operatorsUrl, "operatorsUrl"); var discoveryService = new DiscoveryService(new ConcurrentCache(), _client); var providerMetadata = new ProviderMetadata(); var discoveryGenerateResponseOptions = new DiscoveryResponseGenerateOptions(clientSecret, clientId, subscriberId, appName, operatorsUrl.GetListOfUrls(), operatorsUrl.GetListOfRels()); var restResponse = new RestResponse() { StatusCode = HttpStatusCode.OK, Content = discoveryGenerateResponseOptions.GetJsonResponse() }; try { var index = 0; var length = discoveryGenerateResponseOptions.Response.response.apis.operatorid.link.Count; for (var i = 0; i < length; i++) { if (discoveryGenerateResponseOptions.Response.response.apis.operatorid.link[i].rel != LinkRels.OPENID_CONFIGURATION) { continue; } index = i; break; } var providerMetadataLink = discoveryGenerateResponseOptions.Response.response.apis.operatorid.link[index].href; if (providerMetadataLink != null) { providerMetadata = await discoveryService.RetrieveProviderMetada(providerMetadataLink); } } catch (Exception exception) { throw exception; } var discoveryResponse = new DiscoveryResponse(restResponse); discoveryResponse.ProviderMetadata = providerMetadata; return(discoveryResponse); }