var searchIndex = {}; searchIndex["oauth2"] = {"doc":"This is an OAuth 2.0 library for the Rust language. It defines types and traits useful\nfor implementing an OAuth 2.0 compliant system as specified by RFC 6749.","items":[[0,"syntax","oauth2","Syntax validation for OAuth 2.0 elements",null,null],[5,"valid_client_id_str","oauth2::syntax","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_client_secret_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_response_type_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_scope_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_state_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_error_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_error_description_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_grant_name_str","","grant_type may also be a URI. This only checks grant_name variants",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_code_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_access_token_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_token_name_str","","token_type may also be a URI. This only checks token_name variants",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_expires_in_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_username_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_password_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[5,"valid_refresh_token_str","","",null,{"inputs":[{"name":"str"}],"output":{"name":"bool"}}],[0,"authz_server","oauth2","",null,null],[3,"AuthzError","oauth2::authz_server","",null,null],[12,"error","","",0,null],[12,"error_description","","",0,null],[12,"error_uri","","",0,null],[12,"state","","",0,null],[3,"TokenError","","",null,null],[12,"error","","",1,null],[12,"error_description","","",1,null],[12,"error_uri","","",1,null],[3,"AuthzRequestData","","",null,null],[12,"id","","Some token to distinguish this request",2,null],[12,"client_id","","client_id as supplied in the request",2,null],[12,"redirect_uri","","redirect_uri as supplied in the request, or None if not supplied",2,null],[12,"scope","","scope as supplied in the request",2,null],[12,"state","","state as supplied in the request. We recommend implementations should\nerror if a state was not supplied in the request.",2,null],[12,"authorization_code","","The authorization code, IF the request has been approved.",2,null],[12,"error","","An error, if an error has occurred",2,null],[3,"TokenData","","",null,null],[12,"access_token","","",3,null],[12,"token_type","","",3,null],[12,"expires_in","","",3,null],[12,"refresh_token","","",3,null],[12,"scope","","",3,null],[3,"WwwAuthenticate","","",null,null],[12,"0","","",4,null],[4,"AuthzErrorCode","","",null,null],[13,"InvalidRequest","","",5,null],[13,"UnauthorizedClient","","",5,null],[13,"AccessDenied","","",5,null],[13,"UnsupportedResponseType","","",5,null],[13,"InvalidScope","","",5,null],[13,"ServerError","","",5,null],[13,"TemporarilyUnavailable","","",5,null],[4,"TokenErrorCode","","",null,null],[13,"InvalidRequest","","",6,null],[13,"InvalidClient","","",6,null],[13,"InvalidGrant","","",6,null],[13,"UnauthorizedClient","","",6,null],[13,"UnsupportedGrantType","","",6,null],[13,"InvalidScope","","",6,null],[8,"AuthzServer","","",null,null],[10,"generate_new_client_id","","Generate a new, unique, `ClientID`",7,null],[10,"register_new_client","","Register a new client",7,null],[10,"fetch_client_data","","Retrieve client data",7,null],[10,"store_client_authorization","","Store an issued authentication code, along with the client it was issued to and the\nredirect_uri that it was issued under.",7,null],[10,"retrieve_client_authorization","","Retrieve the data associated with an issued authentication code (the first field is\nthe client id).",7,null],[10,"issue_token_to_client","","Issue token to client, recording the issuance internally.",7,null],[11,"handle_authz_request","","Handle an HTTP request at the authorization endpoint\n(From a user-agent, redirected by a client)",7,null],[11,"finish_authz_request","","This finishes an Authorization Request sequence. It should be called\nafter the user-agent end user has been authenticated and has approved\nor denied the request. `data` should have `authorization_code` and\n`error` set appropriately.",7,null],[11,"handle_token_request","","Handle an HTTP request at the token endpoint\n(from a client directly, via POST only)",7,null],[11,"eq","","",5,null],[11,"fmt","","",5,null],[11,"clone","","",5,null],[11,"fmt","","",0,null],[11,"clone","","",0,null],[11,"put_into_query_string","","",0,null],[11,"eq","","",6,null],[11,"fmt","","",6,null],[11,"clone","","",6,null],[11,"fmt","","",1,null],[11,"clone","","",1,null],[11,"as_json","","Serde serialization serializes all fields, even the ones that are None.\nBut the standard suggests they should be left out entirely if they do not\napply. This function skips fields that are None. JSON Serde deserializer\nwill deserialize missing fields as None, so we can use serde for the\nreverse.",1,null],[11,"fmt","","",2,null],[11,"clone","","",2,null],[11,"fmt","","",3,null],[11,"as_json","","Serde serialization serializes all fields, even the ones that are None.\nBut the standard suggests they should be left out entirely if they do not\napply. This function skips fields that are None. JSON Serde deserializer\nwill deserialize missing fields as None, so we can use serde for the\nreverse.",3,null],[11,"eq","","",4,null],[11,"ne","","",4,null],[11,"fmt","","",4,null],[11,"clone","","",4,null],[11,"deref","","",4,null],[11,"deref_mut","","",4,null],[11,"header_name","","",4,{"inputs":[],"output":{"name":"str"}}],[11,"parse_header","","",4,null],[11,"fmt_header","","",4,null],[11,"fmt","","",4,null],[0,"client","oauth2","",null,null],[8,"Client","oauth2::client","",null,null],[10,"get_client_data","","Get own client data",8,null],[10,"store_nonce","","Store a nonce, used to prevent cross-site reqeuest forgery.",8,null],[10,"consume_nonce","","Consume the nonce from storage, and return true if it was found, false if\nno such nonce existed.",8,null],[11,"generate_nonce","","",8,null],[10,"get_redirect_uri","","Get the redirect URI for this client",8,null],[11,"start_oauth","","This is the starting point for the OAuth sequence. It redirects the user-agent\nto the AuthzServer's authz_request endpoint",8,null],[11,"handle_redirect_url","","Handle an HTTP request to the Redirect URL (from the user-agent)",8,null],[0,"client_type","oauth2","",null,null],[4,"ClientType","oauth2::client_type","Client Type, either 'confidential' or 'public'.",null,null],[13,"ConfidentialClient","","Client that can confidentially store secrets",9,null],[13,"PublicClient","","Client that is not trusted to confidentially store secrets",9,null],[11,"fmt","","",9,null],[11,"eq","","",9,null],[11,"clone","","",9,null],[11,"fmt","","",9,null],[0,"client_data","oauth2","",null,null],[3,"ClientData","oauth2::client_data","Client data is registered with the Authorization Service prior to the OAuth 2.0\nprotocol commencing. This can be done with config files for well-known clients.\nIt can be done online as well prior to the OAuth 2.0 protocol proper.",null,null],[12,"client_id","","Client Identifier. Required. Must be unique across the Authorization Service and\nso is typically issued by the Authorization Service. Also used to fetch this\nentire record.",10,null],[12,"client_type","","Client Type. Required, even if your implementation only ever uses one type.",10,null],[12,"redirect_uri","","Redirect URL(s) as Strings. Required for public clients, required if the client has\nmultiple, otherwise optional but SHOULD be supplied anyway. The first one is used\nif not supplied in the protocol.",10,null],[12,"credentials","","Client Credentials, serialized. Required, but the details are out of scope.",10,null],[12,"authn_scheme","","Authentication Scheme, serialized. Only required if multiple authentication schemes\nare implemented and the server needs to know which one this client is using.",10,null],[11,"fmt","","",10,null],[11,"clone","","",10,null],[11,"http_basic_authentication_generate","","",10,null],[11,"http_basic_authentication_deconstruct","","",10,{"inputs":[{"name":"basic"}],"output":{"name":"result"}}],[0,"error","oauth2","",null,null],[4,"OauthError","oauth2::error","These are errors returned to the caller",null,null],[13,"Utf8Error","","",11,null],[13,"FromUtf8Error","","",11,null],[13,"Url","","",11,null],[13,"Io","","",11,null],[13,"AuthzBadRequest","","",11,null],[13,"AuthzMissingClientId","","",11,null],[13,"AuthzUnknownClient","","",11,null],[13,"AuthzRedirectUrlNotRegistered","","",11,null],[13,"AuthzGrantTypeMissing","","",11,null],[13,"AuthzClientIdMismatch","","",11,null],[13,"ClientCodeMissing","","",11,null],[13,"ClientStateMissing","","",11,null],[13,"ClientNonceMismatch","","",11,null],[13,"UnexpectedStatusCode","","",11,null],[11,"fmt","","",11,null],[11,"fmt","","",11,null],[11,"description","","",11,null],[11,"cause","","",11,null],[11,"from","","",11,{"inputs":[{"name":"utf8error"}],"output":{"name":"oautherror"}}],[11,"from","","",11,{"inputs":[{"name":"fromutf8error"}],"output":{"name":"oautherror"}}],[11,"from","","",11,{"inputs":[{"name":"parseerror"}],"output":{"name":"oautherror"}}],[11,"from","","",11,{"inputs":[{"name":"ioerror"}],"output":{"name":"oautherror"}}]],"paths":[[3,"AuthzError"],[3,"TokenError"],[3,"AuthzRequestData"],[3,"TokenData"],[3,"WwwAuthenticate"],[4,"AuthzErrorCode"],[4,"TokenErrorCode"],[8,"AuthzServer"],[8,"Client"],[4,"ClientType"],[3,"ClientData"],[4,"OauthError"]]}; initSearch(searchIndex);