![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
![]() |
|
Articles d’actualité sur les crypto-monnaies
Migrating Your ArcGis Maps SDK pour les applications .NET vers le nouveau système d'authentification
Mar 11, 2025 at 01:15 am
En 2024, le SDK ARCGIS MAPS SDK pour .NET L'équipe a introduit des changements importants aux API d'authentification dans le cadre d'un effort à long terme pour simplifier
In 2024, the ArcGIS Maps SDK for .NET team introduced significant changes to authentication APIs as part of a long-term effort to simplify and align the .NET Maps SDK with other Native Maps SDKs. This transition also involved deprecating older APIs to streamline development and maintain compatibility with the broader ArcGIS Platform.
En 2024, le SDK ARCGIS MAPS pour l'équipe .NET a introduit des changements importants aux API d'authentification dans le cadre d'un effort à long terme pour simplifier et aligner le SDK .NET MAPS avec d'autres SDK de cartes natives. Cette transition a également impliqué la dépréciation d'API plus anciennes pour rationaliser le développement et maintenir la compatibilité avec la plate-forme ArcGIS plus large.
This blog post will guide you through this transition, highlighting new capabilities, outlining clear paths from deprecated APIs, and providing practical code examples to help you implement these changes quickly and confidently.
Ce billet de blog vous guidera à travers cette transition, mettant en évidence de nouvelles capacités, décrivant des chemins clairs des API obsolètes et fournissant des exemples de code pratiques pour vous aider à mettre en œuvre ces changements rapidement et en toute confiance.
New Credential Types
Nouveaux types d'identification
Let’s start by exploring the new credential types that form the foundation of the updated authentication system.
Commençons par explorer les nouveaux types d'identification qui forment les fondements du système d'authentification mis à jour.
OAuthUserCredential (200.6+)
OAuthUserCredential (200,6+)
This replaces OAuthTokenCredentials of type OAuthAuthorizationCode.
Cela remplace les OAuthTokenDredentials de type oAuthAuthorizationCode.
OAuthUserCredential implements user authentication using OAuth “authorization code” flow with PKCE. This is the recommended approach for authenticating end users, providing extra security compared to other methods.
OAuthUserCredential implémente l'authentification de l'utilisateur à l'aide du flux OAuth «Code d'autorisation» avec PKCE. Il s'agit de l'approche recommandée pour authentifier les utilisateurs finaux, offrant une sécurité supplémentaire par rapport à d'autres méthodes.
When a user signs in to your application with their ArcGIS account, a token is generated that authorizes your app to access services and content on behalf of the user. The available resources and functionality depend on the user’s ArcGIS account type, roles, and privileges.
Lorsqu'un utilisateur se connecte à votre application avec son compte ArcGIS, un jeton est généré qui autorise votre application à accéder aux services et au contenu au nom de l'utilisateur. Les ressources et fonctionnalités disponibles dépendent du type de compte ArcGIS de l'utilisateur, des rôles et des privilèges de l'utilisateur.
To implement this authentication flow, you need to:
Pour implémenter ce flux d'authentification, vous devez:
Our Access services with OAuth credentials tutorial provides a complete implementation example.
Notre tutoriel d'accès aux services d'accès avec OAuth fournit un exemple complet d'implémentation.
OAuthAppCredential (200.5+)
OAuthAppcrential (200,5+)
This replaces OAuthTokenCredentials of type OAuthClientCredentials.
Cela remplace les oauthtokendedentials de type oauthClientCredentials.
OAuthApplicationCredential implements app authentication using OAuth “client credentials” flow. Use this to create applications that do not require users to sign in, but still need access to token-secured resources and services.
OAuthApplicationCredential implémente l'authentification de l'application à l'aide du flux OAuth «Client Idedentials». Utilisez-le pour créer des applications qui ne nécessitent pas que les utilisateurs se connectent, mais qui ont toujours besoin d'accéder aux ressources et services sécurisés par les jetons.
With this approach, requests are made using the credits and privileges associated with your app’s account rather than an individual user’s account. An app credential is created from a client ID and client secret that have been pre-registered with the portal.
Avec cette approche, les demandes sont faites en utilisant les crédits et privilèges associés au compte de votre application plutôt que le compte d'un utilisateur individuel. Un diplôme d'application est créé à partir d'un ID client et d'un secret client qui ont été pré-enregistrés avec le portail.
The client secret should be treated as confidential information since it allows direct billing to your developer account. This authentication method is intended for secure environments where credentials cannot be easily exposed to end users. Never include your client secret in publicly distributed applications.
Le secret du client doit être traité comme des informations confidentielles car elle permet une facturation directe vers votre compte de développeur. Cette méthode d'authentification est destinée à des environnements sécurisés où les informations d'identification ne peuvent pas être facilement exposées aux utilisateurs finaux. N'incluez jamais le secret de votre client dans les applications distribuées publiquement.
AccessTokenCredential (200.6+)
AccessTokenCredential (200,6+)
This replaces ArcGISTokenCredentials created by GenerateCredentialAsync.
Cela remplace ArcGistoKenDredentials créé par GenerateCredentialAsync.
AccessTokenCredential provides an access token for secured ArcGIS content and services. You can obtain this token in several ways:
AccessToKenCredential fournit un jeton d'accès pour le contenu et services ArcGIS sécurisés. Vous pouvez obtenir ce jeton de plusieurs manières:
Our ArcGIS token challenge sample shows how to create this credential in response to an authentication challenge. You can also create and add a credential to the AuthenticationManager before accessing secured services.
Notre échantillon de défi de jeton ArcGIS montre comment créer ces informations d'identification en réponse à un défi d'authentification. Vous pouvez également créer et ajouter un diplôme à AuthenticationManager avant d'accéder aux services sécurisés.
PregeneratedTokenCredential (200.5+)
PregeneratedTokenCrediEntiel (200,5+)
This replaces ArcGISTokenCredentials created by the token-string constructor.
Cela remplace ArcGistoKenCredentials créé par le constructeur à chaîne de jetons.
PregeneratedTokenCredential accesses token-secured ArcGIS content and services using an independently generated token. This credential type gives you flexibility when integrating with custom authentication systems. Use it when you:
PregeneratedTokendentiel accède au contenu et aux services ArcGIS sécurisés à la token à l'aide d'un jeton généré indépendamment. Ce type d'identification vous donne une flexibilité lors de l'intégration avec des systèmes d'authentification personnalisés. Utilisez-le lorsque vous:
New Supporting APIs
Nouvelles API de support
Beyond the credential types themselves, several supporting APIs have been added to enhance flexibility and control.
Au-delà des types d'identification eux-mêmes, plusieurs API de support ont été ajoutées pour améliorer la flexibilité et le contrôle.
Server Certificate Validation (200.6+)
Validation du certificat de serveur (200,6+)
When working with HTTPS services, you can now customize how SSL/TLS certificates are validated. Specify a custom callback when configuring HTTP settings to examine all SSL connections made by the Maps SDK.
Lorsque vous travaillez avec les services HTTPS, vous pouvez désormais personnaliser la validation des certificats SSL / TLS. Spécifiez un rappel personnalisé lors de la configuration des paramètres HTTP pour examiner toutes les connexions SSL établies par le SDK MAPS.
Server certificates are usually validated by the operating system using default policies and known Certificate Authorities, but your own validator can accept or reject connections based on custom criteria. For example:
Les certificats de serveur sont généralement validés par le système d'exploitation à l'aide des politiques par défaut et des autorités de certificat connues, mais votre propre validateur peut accepter ou rejeter des connexions en fonction des critères personnalisés. Par exemple:
The callback uses the standard .NET RemoteCertificateValidationCallback signature. For more information including code examples, see Microsoft’s guide to custom X509Certificate validation.
Le rappel utilise la signature standard .NET RemoteCertificateValidationCallback. Pour plus d'informations, y compris les exemples de code, voir le guide de Microsoft pour la validation personnalisée X509Certificate.
IHttpMessageInterceptor (200.5+)
IhttpMessageInterceptor (200,5+)
The new IHttpMessageInterceptor interface allows you to monitor, modify, or even mock HTTP requests and responses. This powerful capability can be configured globally when configuring HTTP settings on startup. Common use cases include:
La nouvelle interface IHTTPMessageInterceptor vous permet de surveiller, de modifier ou même de simuler les demandes et les réponses HTTP. Cette capacité puissante peut être configurée globalement lors de la configuration des paramètres HTTP au démarrage. Les cas d'utilisation courants comprennent:
Logging and Diagnostics: Log request and response details for monitoring and debugging:
Journalisation et diagnostic: Détails de demande de journal et de réponse pour la surveillance et le débogage:
import logging
journalisation d'importation
logger = logging.getLogger(__name__)
logger = logging.getLogger (__ name__)
class MessageInterceptor(IHttpMessageInterceptor):
Class MessageInterceptor (ihttpMessageInterceptor):
"""Logs request and response details to the console."""
"" "Logs de la demande et des détails de réponse à la console." ""
def OnRequest(self, request, cancellationToken):
Def onRequest (self, demande, annulationtoken):
"""Called before a request is sent."""
"" "A appelé avant qu'une demande ne soit envoyée." ""
logger.info(f"Request: {request.Method} {request.RequestUri}")
logger.info (f "request: {request.method} {request.requesturi}")
for header in request.Headers:
pour en-tête dans la demande.Headers:
logger.info(f" Header: {header}")
Logger.info (f "En-tête: {En-tête}")
async def main():
asynchrone def main ():
"""Main function to configure and run the message interceptor."""
"" "Fonction principale pour configurer et exécuter l'intercepteur du message." ""
message_interceptor = MessageInterceptor()
Message_interceptor = MessageInterceptor ()
http_settings = HttpSettings.Builder().AddMessageInterceptor(message_interceptor).Build()
http_settings = httpsettings.builder (). addMessageInterceptor (message_interceptor) .build ()
async with AuthenticationManager.CreateInstanceAsync(credentials, http_settings) as auth_manager:
Async avec AuthenticationManager.CreateInStanceAnSync (Identials, http_settings) en tant qu'Auth_Manager:
user = await ArcGISUser.CurrentUserAsync(auth_manager)
user = attendre arcgisuser.currentUserasync (auth_manager)
logger.info(f"Logged in as: {user.Username}")
Logger.info (F "Connecté en AS: {User.Username}")
if __name__ == "__main__":
Si __name__ == "__main__":
logging.basicConfig(level=logging.INFO, format='%(asctime
logging.basicConfig (niveau = logging.info, format = '% (asctime
Clause de non-responsabilité:info@kdj.com
Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!
Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.
-
-
- Après l'incroyable poussée de Pi Coin, les investisseurs regardent cette crypto de 0,006 $, Lightchain Ai, pour des gains énormes
- Mar 11, 2025 at 07:25 am
- Avec plus de 17,2 millions de dollars collectés à son prix de prévente, LightChain AI attire rapidement l'attention en raison de son intégration révolutionnaire de la technologie de l'IA et de la blockchain.
-
-
-
- Titre: Flipster lance la campagne de mise en place USDT Fest à un million de dollars
- Mar 11, 2025 at 07:25 am
- À partir du 17 mars, Flipster, un échange mondial de crypto-monnaie, présentera le Fest à un million de dollars, une campagne de mise à pied de l'USDT. Cette campagne offre un total de 1,1 million USDT et 100 000 USDT en position Airdrops.
-
- Le marché des crypto-monnaies subit des changements importants à mesure que Bitcoin se consolide, ce qui a incité les investisseurs à explorer les altcoins pour la prochaine évasion.
- Mar 11, 2025 at 07:25 am
- Alors que les principaux actifs comme XRP, Dogecoin et Shiba INU continuent de dominer les discussions, une tendance croissante vers des investissements en démarrage prend de l'ampleur.
-
-
-
- Le guide ultime des prochaines listes de binance 2025: Découvrez le prochain 100x Gem
- Mar 11, 2025 at 07:20 am
- L'attente pour les nouvelles annonces de binance à venir 2025 est en train de réchauffer, et les investisseurs intelligents savent que l'entrée précoce dans les nouvelles listes de binances peut produire des rendements massifs.