• Tripti Lakhara
  • 5 Points
  • Member since 2019

  • Chatter
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
  • 2
In Trailhead unit:
User Authentification > Secure Your User's Identity

Cannot find error to complte Challenge.

I completed the Challenge succeeding at all steps:
1. Setup> "Session Settings", "Two-Factor Authentification" is in "High Assurance" category listbox, saved.
2. Created new user with "Salesforce Platform License", Profile as "Standard Platform User":, Generated new password.
3. Created new permission "Trailhead", in "Session Permissions", edited to select "Two-Factor Authentification for User Logins", saved.
4. Went to "Manage Assignments", assigned permission set to new user's account, Add Assignment, clicked Assign.
5. Successfully connected Salesforce Authenticator Mobile App to the user account:
6. I logged out of Salesforce under my name and logged in with new user name, followed steps and succeeded to use 2 factor authentification with mobile to log into Salesforce. Numerous times.

Clicked on "Check challenge to earn 500 points" and receive error notice and get message:
"Could not find a user's successful login using two-factor authentication. Make sure you successfully login at least once and that you are prompted for a second factor of authentication."
I am facing issue to clear this challange 

AnimalLocator code:
public class AnimalLocator
  public static String getAnimalNameById (Integer id)
        Http http = new Http();
        HttpRequest request = new HttpRequest();
        request.setEndpoint('https://th-apex-http-callout.herokuapp.com/animals/' + id);
        HttpResponse response = http.send(request);
          String strResp = '';
           system.debug('****response '+response.getStatusCode());
           system.debug('****response '+response.getBody());
        // If the request is successful, parse the JSON response.
        if (response.getStatusCode() == 200) 
            // Deserializes the JSON string into collections of primitive data types.
           Map<String, Object> results = (Map<String, Object>) JSON.deserializeUntyped(response.getBody());
            // Cast the values in the 'animals' key as a list
           Map<string,object> animals = (map<string,object>) results.get('animal');
            System.debug('Received the following animals:' + animals );
            strResp = string.valueof(animals.get('name'));
            System.debug('strResp >>>>>>' + strResp );
        return strResp ;

test class AnimalLocatorTest:
private class AnimalLocatorTest{
    @isTest static  void AnimalLocatorMock1() {
        Test.SetMock(HttpCallOutMock.class, new AnimalLocatorMock());
        string result=AnimalLocator.getAnimalNameById(3);
        string expectedResult='chicken';
        System.assertEquals(result, expectedResult);
global class AnimalLocatorMock implements HttpCalloutMock {
    global HTTPResponse respond(HTTPRequest request) {
         HttpResponse response = new HttpResponse();
        response.setHeader('Content-Type', 'application/json');
        response.setBody('{"animal":{"id":1,"name":"chicken","eats":"chicken food","says":"cluck cluck"}}');
        return response;
i have created
1.AnimalLocator User-added image

User-added image


User-added image

error i am getting

User-added image

please help me
Hi ,

I have written a piece of trigger , trying to prevent duplicate contacts on an Account:

trigger PreventDuplicateContact on Contact (before insert, before update){

Set<id> accid = new Set<id>();
for (Contact c : Trigger.new)

Map<Id,list<contact>> AccEmails = new Map<Id,list<contact>>();
Map<Id, Contact> cont = new Map<Id, Contact> ([Select Email from Contact where Id in:accid]);

for (Contact c : Trigger.new){
if ((contact.Email !=null) && (System.Trigger.isInsert ||(contact.Email != System.Trigger.oldMap.get(contact.Id).Email))){
if ( cont.containsKey(contact.Email)){
Contact co = cont.get(contact.Email);
contact.Email.addError('Another new contact has the '+'same email address.');
    for (Contact c : [SELECT Email FROM Contact WHERE Email IN :cont.KeySet()]){
        Contact newContact = cont.get(c.Email);
        newContact.Email.addError('A Contact with this email '+'address already exists.');

But this is not working as expected. Please help me get it modified
  • September 01, 2014
  • Like
  • 0