/// <summary> /// Registers (or retrieves) a Cognito <code>IdentityId</code> and an OpenID Connect token /// for a user authenticated by your backend authentication process. Supplying multiple /// logins will create an implicit linked account. You can only specify one developer /// provider as part of the <code>Logins</code> map, which is linked to the identity pool. /// The developer provider is the "domain" by which Cognito will refer to your users. /// /// /// <para> /// You can use <code>GetOpenIdTokenForDeveloperIdentity</code> to create a new identity /// and to link new logins (that is, user credentials issued by a public provider or developer /// provider) to an existing identity. When you want to create a new identity, the <code>IdentityId</code> /// should be null. When you want to associate a new login with an existing authenticated/unauthenticated /// identity, you can do so by providing the existing <code>IdentityId</code>. This API /// will create the identity in the specified <code>IdentityPoolId</code>. /// </para> /// </summary> /// <param name="request">Container for the necessary parameters to execute the GetOpenIdTokenForDeveloperIdentity service method.</param> /// /// <returns>The response from the GetOpenIdTokenForDeveloperIdentity service method, as returned by CognitoIdentity.</returns> /// <exception cref="Amazon.CognitoIdentity.Model.DeveloperUserAlreadyRegisteredException"> /// The provided developer user identifier is already registered with Cognito under a /// different identity ID. /// </exception> /// <exception cref="Amazon.CognitoIdentity.Model.InternalErrorException"> /// Thrown when the service encounters an error during processing the request. /// </exception> /// <exception cref="Amazon.CognitoIdentity.Model.InvalidParameterException"> /// Thrown for missing or bad input parameter(s). /// </exception> /// <exception cref="Amazon.CognitoIdentity.Model.NotAuthorizedException"> /// Thrown when a user is not authorized to access the requested resource. /// </exception> /// <exception cref="Amazon.CognitoIdentity.Model.ResourceConflictException"> /// Thrown when a user tries to use a login which is already linked to another account. /// </exception> /// <exception cref="Amazon.CognitoIdentity.Model.ResourceNotFoundException"> /// Thrown when the requested resource (for example, a dataset or record) does not exist. /// </exception> /// <exception cref="Amazon.CognitoIdentity.Model.TooManyRequestsException"> /// Thrown when a request is throttled. /// </exception> internal GetOpenIdTokenForDeveloperIdentityResponse GetOpenIdTokenForDeveloperIdentity(GetOpenIdTokenForDeveloperIdentityRequest request) { var marshaller = new GetOpenIdTokenForDeveloperIdentityRequestMarshaller(); var unmarshaller = GetOpenIdTokenForDeveloperIdentityResponseUnmarshaller.Instance; return Invoke<GetOpenIdTokenForDeveloperIdentityRequest,GetOpenIdTokenForDeveloperIdentityResponse>(request, marshaller, unmarshaller); }
/// <summary> /// Initiates the asynchronous execution of the GetOpenIdTokenForDeveloperIdentity operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the GetOpenIdTokenForDeveloperIdentity operation on AmazonCognitoIdentityClient.</param> /// <param name="callback">An Action delegate that is invoked when the operation completes.</param> /// <param name="options">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> public void GetOpenIdTokenForDeveloperIdentityAsync(GetOpenIdTokenForDeveloperIdentityRequest request, AmazonServiceCallback<GetOpenIdTokenForDeveloperIdentityRequest, GetOpenIdTokenForDeveloperIdentityResponse> callback, AsyncOptions options = null) { options = options == null?new AsyncOptions():options; var marshaller = new GetOpenIdTokenForDeveloperIdentityRequestMarshaller(); var unmarshaller = GetOpenIdTokenForDeveloperIdentityResponseUnmarshaller.Instance; Action<AmazonWebServiceRequest, AmazonWebServiceResponse, Exception, AsyncOptions> callbackHelper = null; if(callback !=null ) callbackHelper = (AmazonWebServiceRequest req, AmazonWebServiceResponse res, Exception ex, AsyncOptions ao) => { AmazonServiceResult<GetOpenIdTokenForDeveloperIdentityRequest,GetOpenIdTokenForDeveloperIdentityResponse> responseObject = new AmazonServiceResult<GetOpenIdTokenForDeveloperIdentityRequest,GetOpenIdTokenForDeveloperIdentityResponse>((GetOpenIdTokenForDeveloperIdentityRequest)req, (GetOpenIdTokenForDeveloperIdentityResponse)res, ex , ao.State); callback(responseObject); }; BeginInvoke<GetOpenIdTokenForDeveloperIdentityRequest>(request, marshaller, unmarshaller, options, callbackHelper); }
private CognitoCredential LetUsDealWithTheAWSCognitoIDStuff(String userID) { String AccessKey = ConfigurationManager.AppSettings["AWSAccessKeyId"]; String SecretAccessKey = ConfigurationManager.AppSettings["AWSSecretAccessKey"]; BasicAWSCredentials basicAWSCredentials = new BasicAWSCredentials(AccessKey, SecretAccessKey); AmazonCognitoIdentityConfig config = new AmazonCognitoIdentityConfig(); config.ServiceURL = "ec2.us-east-1.amazonaws.com"; config.RegionEndpoint = Amazon.RegionEndpoint.USEast1; AmazonCognitoIdentityClient identityClient = new AmazonCognitoIdentityClient(basicAWSCredentials, config); GetOpenIdTokenForDeveloperIdentityRequest idRequest = new GetOpenIdTokenForDeveloperIdentityRequest(); idRequest.IdentityPoolId = "us-east-1:c812ebc0-88e3-44d9-84e4-8e2ac888d19f"; Dictionary<string, string> userLogins = new Dictionary<string, string>(); userLogins.Add("Login.WhatsNowWebService", userID); idRequest.Logins = userLogins; idRequest.TokenDuration = 60 * 5; GetOpenIdTokenForDeveloperIdentityResponse idResp = identityClient.GetOpenIdTokenForDeveloperIdentity(idRequest); string cognitoId = idResp.IdentityId; string oidToken = idResp.Token; CognitoCredential cc = new CognitoCredential(); cc.CognitoID = cognitoId; cc.CognitoToken = oidToken; return cc; }
/// <summary> /// Initiates the asynchronous execution of the GetOpenIdTokenForDeveloperIdentity operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the GetOpenIdTokenForDeveloperIdentity operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> public Task<GetOpenIdTokenForDeveloperIdentityResponse> GetOpenIdTokenForDeveloperIdentityAsync(GetOpenIdTokenForDeveloperIdentityRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new GetOpenIdTokenForDeveloperIdentityRequestMarshaller(); var unmarshaller = GetOpenIdTokenForDeveloperIdentityResponseUnmarshaller.Instance; return InvokeAsync<GetOpenIdTokenForDeveloperIdentityRequest,GetOpenIdTokenForDeveloperIdentityResponse>(request, marshaller, unmarshaller, cancellationToken); }
/// <summary> /// Initiates the asynchronous execution of the GetOpenIdTokenForDeveloperIdentity operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the GetOpenIdTokenForDeveloperIdentity operation on AmazonCognitoIdentityClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndGetOpenIdTokenForDeveloperIdentity /// operation.</returns> public IAsyncResult BeginGetOpenIdTokenForDeveloperIdentity(GetOpenIdTokenForDeveloperIdentityRequest request, AsyncCallback callback, object state) { var marshaller = new GetOpenIdTokenForDeveloperIdentityRequestMarshaller(); var unmarshaller = GetOpenIdTokenForDeveloperIdentityResponseUnmarshaller.Instance; return BeginInvoke<GetOpenIdTokenForDeveloperIdentityRequest>(request, marshaller, unmarshaller, callback, state); }